TN.311What's New in Phase 2.cpt MacTNsDL AMUG CD:Files:MacTechNotes:TN.301.350:TN.311What's New in Phase 2.cpt 0 30K 2/23/92 TN 311 - This Technical Note discusses the new features of AppleTalk available for System 7.0 and AppleTalk version 57. The new features include support for the Flagship Naming Service and the AppleTalk Multiple Node Architecture. We present the Multiple Node Architecture and discuss the new calls available to applications. We also discuss the impact of the new architecture on AppleTalk Device files (ADEVs), and the changes necessary to make them multinode compatible. Finally, we discuss the Flagship Naming Service, along with the new AppleTalk Transitions. The new transitions notify a process of changes to the Flagship name, network cable range, router status, and processor speed.
TN.310.ResinCDEV.cpt MacTNsDL AMUG CD:Files:MacTechNotes:TN.301.350:TN.310.ResinCDEV.cpt 0 5K 2/23/92 TN 310 - This Technical Note discusses the new 'fwst' resource added to some Control Panels under System 7.0 and later. By C. K. Haun. System 7 changes many of the rules for Control Panels (cdevs), and these changes are very well documented in Chapter 10 of Inside Macintosh Volume VI. However, there is one thing not documented in IM VI that you need to be aware of, as it could cause you confusion and frustration— the 'fwst' resource.
TN.309.SourceRoutes MacTNsDL AMUG CD:Files:MacTechNotes:TN.301.350:TN.309.SourceRoutes 0 8K 12/31/91 Technical Not #309 - This Technical Note discusses source routing and its possible implementation in token ring link layers.
TN.308.pslt resource MacTNsDL AMUG CD:Files:MacTechNotes:TN.301.350:TN.308.pslt resource 0 7K 12/31/91 Technical note #308 - One of the new resources that can be very helpful to some NuBus™ developers is the 'pslt' resource. The only problem is that the resource is not documented. This Technical Note takes care of the documentation problem.
TN.307.C++ inline MacTNsDL AMUG CD:Files:MacTechNotes:TN.301.350:TN.307.C++ inline 0 7K 12/31/91 Technical note #307 - This Technical Note discusses MPW C++’s use of inline, when an inline defined statement is not inlined at all by the compiler, and segmentation issues regarding member functions defined as inline that are not inlined by the compiler.
Tech Note Index.sea MacTNsDL AMUG CD:Files:MacTechNotes:Technical Notes Stack:Tech Note Index.sea 0 1386K 12/09/91 This file contains the Tech note indexes for the HyperCard 4.0.4 version Technical Notes Stack.
TN.298 Color, Windows and 7.0 MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.298 Color, Windows and 7.0 0 18K 12/09/91 #298 - Color, Windows and 7. Written by Guillermo A. Ortiz January 1991 System 7.0 introduces a new look for the Macintosh Desktop. In order to implement those changes 'wctb' and 'cctb' resources have changed in both form and use; it is now up to developers to take the lead and help the new standard work. The task can be divided in two main areas in most cases all developers have to do is to stick to the system resources in order to provide a homogeneous feel to the user; developers in this group need only make sure the old 'wctb's are disposed of and that all dialogs and windows are based on CGrafPorts.
TN.296.LoDownOnDownloading MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.296.LoDownOnDownloading 0 6K 12/09/91 #296 - The Lo Down on Dictionary Downloading. Written by: Zz Zimmerman April 1991. This technical note discusses a method for downloading PostScript dictionaries automatically using the LaserWriter driver. It will also provide the format and use of the PREC(103) resource. It will also describe some problems with the now obsolete PREC(201) resource. If you are using PostScript dictionaries, or either of these resources, you should definitely read this note.
TN.295.Feeder Fodder MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.295.Feeder Fodder 0 9K 12/09/91 #295 - Feeder Fodder. Written by Zz Zimmerman April 1991. This Technical Note discusses the new Feeder button available in the 6.1, and 7.0 versions of the LaserWriter driver. This Feeder button mechanism allows developers to insert code into the LaserWriter driver to support a sheet feeder connected to a LaserWriter. This Note provides a description of the button, as well as information required to implement one.
TN.294.My PIdle Procedure MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.294.My PIdle Procedure 0 5K 12/09/91 #294 - Me And My pIdle Proc (or how to let users know what’s going on during print time…) Written by Pete “Luke” Alexander April 1991. This Technical Note discusses how to defensively program a pIdle procedure to work with the majority of print drivers in existence today, and how to install it at print time.
TN.306 MacTNsDL AMUG CD:Files:MacTechNotes:TN.301.350:TN.306 0 6K 12/09/91 #306Drawing Icons the System 7 Way - This Technical Note describes how to use the built-in System 7 icon drawing utility. Use this information in order to better conform to the System 7 visual human interface. The Icon Utilities comprise many more than the two calls listed below. Due to scheduling difficulties and a tight time frame, the entire set of calls could not be documented for this release of the Technical Note. This Note will be expanded for the next batch.
TN.305.PBShare & PBUnshare MacTNsDL AMUG CD:Files:MacTechNotes:TN.301.350:TN.305.PBShare & PBUnshare 0 9K 12/09/91 #305 PBShare, PBUnshare, and PBGetUGEntry - Written by Jim Luther Jan 1992. This Technical Note documents three new File Manager routines available on shared local volumes. The Pascal glue code, C glue code, and the assembler equates and macros for the calls are included in this note.
TN.300.My Life as a ... (MW) MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.300.My Life as a ... (MW) 0 12K 9/28/91 Technical Note #300 - This Technical Note discusses the PascalObject base class, used, for instance, with MacApp programming. The Technical Note describes how to write PascalObject derived classes that work with both Object Pascal and C++ code linking. It also describes the current restrictions and bugs with writing C++ code using PascalObject as the base class. This Technical Note is based on MacApp 2.0(.1), MPW 3.2 and MPW C++ 3.1.
TN.304.Update Perils(MW) MacTNsDL AMUG CD:Files:MacTechNotes:TN.301.350:TN.304.Update Perils(MW) 0 14K 9/28/91 Technical Note #304 - This Technical Note discusses potential problems when pending update events for windows behind modal dialogs are not serviced. This note also documents some new System 7 Dialog Manager calls.
TN.303.PurgeProc Note(MW) MacTNsDL AMUG CD:Files:MacTechNotes:TN.301.350:TN.303.PurgeProc Note(MW) 0 6K 9/28/91 Technical Note #303 - This Technical Note discusses the use of the purgeProc field of an application’s heap zone. Most applications will never need to use a purgeProc. However, if your application requires the ability to maintain purgeable handles containing data, or you need to have special notification when a certain handle is purged, a purgeProc might help you.
TN.302.Help For Movable(MW) MacTNsDL AMUG CD:Files:MacTechNotes:TN.301.350:TN.302.Help For Movable(MW) 0 6K 9/28/91 Technical Note #302 - This Technical Note describes the process by which an application can remap the Help Manager 'hmnu' resource while a movable modal dialog box is on the screen. The Help Manager handles the case for modal dialog boxes but punts in the case of movable modal dialog boxes. The following information will help you get the correct interface performance.
TN.301.File Sharing and Shared MacTNsDL AMUG CD:Files:MacTechNotes:TN.301.350:TN.301.File Sharing and Shared 0 9K 9/28/91 Technical Note #301 - This Note describes modifications to the existing File Manager routines, PBGetCatInfo, PBHGetDirAccess, PBHSetDirAccess, PBHSetFLock and PBHRstFLock, when used on volumes prepared by Macintosh System 7 File Sharing.
TN.285.GetPhysical MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.285.GetPhysical 0 20K 5/18/91 #285 Coping With VM and Memory Mappings. Revised by Craig Prouse April 1991 Written by Craig Prouse February 1991. The purpose of this Note is twofold. First, it describes in detail how to use the GetPhysical routine. This routine is critical to the support of alternate bus masters on certain machines without Virtual Memory (VM) and all machines with VM. Included is an ancillary discussion of several closely-related VM routines. Second, it reiterates a number of issues important to VM compatibility and elucidates some of the deeper VM issues of which specialized developers should be aware.
TN.283.A/UX System Calls MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.283.A/UX System Calls 0 21K 5/18/91 #283 A/UX System Calls From Macintosh Software. Revised by Anathan Srinivasan & Kent Sandvik January 1991. Written by Rob M. Smith, B. W. Hendrickson & Dave Radcliffe August 1990. This Technical Note discusses how to make A/UX system calls from applications developed in the Macintosh environment. This is useful to anyone porting an existing Macintosh driver or application to work on A/UX as well. Changes since August 1990. Added information about how to make use of fork() system calls under MultiFinder, as well as how various A/UX system calls behave under the MultiFinder emulation mode.
TN.229.A/UX Compatibility MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.229.A/UX Compatibility 0 12K 5/18/91 #229 A/UX 2.0 Compatibility Guidelines. Revised by Kent Sandvik & B. Winston Hendrickson. February 1991. Revised by B. Winston Hendrickson & Dave Radcliffe June 1990. Written by Dave Radcliffe April 1989. This Technical Note describes details of the A/UX 2.0 implementation of which developers should be aware, so that their Macintosh applications also work properly under A/UX. Changes since April 1989. This Note formerly described A/UX 1.1 Toolbox Bugs, but has been completely rewritten to cover A/UX 2.0 compatibility. Changes since June 1990. Changes due to A/UX 2.0.1, also added some new important issues.
TN.217.Font File Icons MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.217.Font File Icons 0 5K 5/18/91 #217 Where Have My Font Icons Gone? Revised by Pete “Luke” Alexander April 1991. Written by Pete “Luke” Alexander December 1988. This Technical Note discusses why you should not link directly from your font files to the font icons provided by LaserWriter driver 5.2 and later. Changes since December 1988. Added some useful tips and described the method required to bundle an icon to your font file.
TN.186.Lock, Unlock the Range MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.186.Lock, Unlock the Range 0 8K 5/18/91 #186 - Lock, Unlock the Range. This Technical Note discusses the _PBLockRange and _PBUnlockRange routines; how they act on local and shared volumes and why you should not set the ioPosMode field to fsFromLEOF in the parameter block for those routines when accessing a file on an AppleShare volume. Changes since April 1988: Added information on how _PBLockRange and _PBUnlockRange really work.
TN.170.HyperCard Format MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.170.HyperCard Format 0 4K 5/18/91 #170 HyperCard File Format. Revised by jeremy j. bornstein, death dwarf of minraud February 1991. Written by Chris Knepper November 1987 This Technical Note formerly discussed the proprietary nature of the HyperCard file format and Apple’s policy not to license it. Changes since March 1988: Merged contents into Technical Note #168, HyperCard And You Economy Edition. This Note formerly discussed the proprietary nature of the HyperCard file format and Apple’s policy not to license it. This information has been updated for HyperCard 2.0 under Claris and integrated into Technical Note #168, HyperCard And You - Economy Edition.
TN.169.HyperCard Anomalies MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.169.HyperCard Anomalies 0 4K 5/18/91 #169 HyperCard 1.0.1 And 1.1 Anomalies. Revised by Jeremy J. Bornstein, death dwarf of minraud February 1991. Written by Chris Knepper November 1987. This Technical Note formerly described some HyperCard anomalies between HyperCard 1.0.1 and 1.1. Changes since March 1988. Merged contents into Technical Note #168, HyperCard And You: Economy Edition.
TN.168.HyperCard and You MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.168.HyperCard and You 1 17K 5/18/91 #168 HyperCard And You - This Technical Note describes some HyperCard anomalies with which developers should be familiar when developing stackware, and it documents differences between HyperCard versions where appropriate. Changes since November 1987 - Consolidated Technical Notes 168, HyperCard 'snd ' Resources; 169, HyperCard 1.0.1 and 1.1 Anomalies; and 170, HyperCard File Format while adding and updating material with regard to HyperCard 2.0 and condensing or obsoleting information on bugs which have been addressed.
TN.160.Key Mapping MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.160.Key Mapping 0 13K 5/18/91 #160 - Key Mapping. Revised by Jim Luther, Peter Edberg, & Imran Sayeed February 1991. Written by Cameron Birse September 1987. This Technical Note describes the Macintosh family key code mapping scheme when running System file 4.1 and later. This Note also provides a “safe” method for remapping keyboards. Changes since October 1990 - Added a section on how 'KMAP' resources are matched to specific ADB keyboard types and a section on the original Macintosh and Macintosh Plus keyboards.
TN.144.Color Monitor Connection MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.144.Color Monitor Connection 0 8K 5/18/91 #144 - Macintosh Color Monitor Connections. Revised by Jim Luther & Wayne Correia February 1991. Written by Mark Baumwell July 1987. This Technical Note describes how to connect the Macintosh II Video Card, Macintosh IIci built-in video, and Macintosh LC video to third-party monitors. Changes since February 1990 - Added pinout description for the Macintosh LC external video connector and a Macintosh LC to VGA monitor adapter cable. Standardized signal names throughout Note.
TN.075.Multidisk Inst. MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.075.Multidisk Inst. 1 8K 5/18/91 #75 - This Technical Note documents Apple’s Multidisk Installer, and it is in addition to separate Installer documentation which provides the details of writing scripts.
TN.293.Excellent CD Notes MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.293.Excellent CD Notes 0 13K 4/28/91 #293 Most Excellent CD Notes. Written by James Beninghaus February 1991 This Technical Note discusses issues concerning the use of the AppleCD SC drive, the Apple CD-ROM device driver, and the Foreign File Access software extension.
TN.292.Bus Error Handlers MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.292.Bus Error Handlers 0 11K 4/28/91 #292 Bus Error Handlers. Written by Wayne Meretsky & Rich Collyer February 1991. This Technical Note discusses bus errors and how applications and drivers should deal with them.
TN.291.CMOS On LC PDS MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.291.CMOS On LC PDS 0 4K 4/28/91 #291 CMOS On Macintosh LC PDS. Written by Paul Baker & Rich Collyer February 1991. This Technical Note provides PDS card developers with some important information about making PDS cards for the Macintosh LC.
TN.290.WDEF and wDraw MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.290.WDEF and wDraw 1 4K 4/28/91 #290 Custom WDEF and wDraw. Written by Vincent Lo February 1991. This Technical Note explains why custom window definition functions may not respond to a wDraw message from the system (if you follow the documentation in Inside Macintosh).
TN.289._CopyBits & GC QuickDraw MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.289._CopyBits & GC QuickDraw 0 7K 4/28/91 #289 Deaccelerated _CopyBits & 8•24 GC QuickDraw. Written by Guillermo A. Ortiz February 1991. This Technical Note discusses conditions that may cause _CopyBits to slow down when QuickDraw acceleration is on via the Apple 8•24 GC Display Card.
TN.288.NuBus Block Transfers MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.288.NuBus Block Transfers 0 11K 4/28/91 #288 NuBus Block Transfer Mode sResource Entries. Written by Guillermo Ortiz February 1991. This Technical Note describes the sResource entries needed in a declaration ROM to inform NuBus™ masters when a board is capable of receiving or sending block transfers.
TN.287.Spare A Block MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.287.Spare A Block 0 13K 4/28/91 #287 Hey Buddy, Can You Spare A Block? Written by Philip D. L. Koch, Jim Reekes, & Kenny Tung February 1991. This Technical Note discusses a new feature of the System Software 7.0 Disk Initialization Package—bad block sparing.
TN.286.GPi The Reliable Way MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.286.GPi The Reliable Way 0 9K 4/28/91 #286 - The Serial General-Purpose Input (GPi). Written by Craig Prouse February 1991. This Technical Note discusses the latest supported methods for reading, validating, and configuring the GPi serial input across all members of the Macintosh family.
Technical Notes Stack 4.0.4 MacTNsDL AMUG CD:Files:MacTechNotes:Technical Notes Stack:Technical Notes Stack 4.0.4 3.2.1 0 1181K 2/15/91 Technical Notes Stack 4.0.4 is a complete listing of all Tech Notes in hypercard format.
Tech Note PICTs.sea MacTNsDL AMUG CD:Files:MacTechNotes:Technical Notes Stack:Tech Note PICTs.sea 1 308K 2/15/91 Tech Note PICTs.dd contains various picts for the Tech notes provided in this section.
Technical Notes Stack Fonts MacTNsDL AMUG CD:Files:MacTechNotes:Technical Notes Stack:Technical Notes Stack Fonts 0 18K 2/15/91 TN Stack Fonts contains the necessary fonts for running your TN Stack.
TN Indices 10-90.dd MacTNsDL AMUG CD:Files:MacTechNotes:TN Indices 10-90.dd 0 116K 2/15/91 TN Indices 10-90.dd is the Technotes indices from 10-91.
TN.284.IOP Diffs Under A/UX MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.284.IOP Diffs Under A/UX 0 6K 2/15/91 TN.284.IOP Diffs Under A/UX - This Technical Note discusses use of the Macintosh IIfx IOP-based serial driver under A/UX, especially under certain error conditions which cause it to perform differently than documented in termio(7). (The SCC driver, used on non-IOP machines, conforms to termio(7) in all cases.) References to “the driver” herein refer to the IOP-based serial driver, seriop.c.
TN.282.Smear Tactics MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.282.Smear Tactics 0 5K 2/15/91 TN.282.Smear Tactics - This Technical Note discusses a feature of the current Macintosh hardware which will not be supported in the future. Macintosh hardware developers and driver writers should be aware of this limitation as it affects current and future products.
TN.281.Multiple Inheritance MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.281.Multiple Inheritance 0 10K 2/15/91 TN.281.Multiple Inheritance - This Technical Note answers a common question about MPW C++: “Why doesn’t HandleObject support multiple inheritance?” It does this by giving a brief overview of how multiple inheritance is implemented in MPW C++.
TN.280.MacApp Bugs 3.0 MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.280.MacApp Bugs 3.0 0 51K 2/15/91 TN.280.MacApp Bugs 3.0 - This Technical Note describes the latest information about bugs or unexpected “features” in MacApp. Where possible, solutions and fixes are noted. DTS intends this Note to be a complete list of all known bugs in MacApp and will update it as old bugs are fixed or new ones appear. If you have encountered a bug or unexpected feature which is not described here, be sure to let DTS know. Specific code examples and suggested fixes are useful.
TN.279.LDEF Madness MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.279.LDEF Madness 0 6K 2/15/91 TN.279.LDEF Madness - This Technical Note uncovers a problem with writing Pascal list definition procedures and two (yes, count ’em, two) different methods to work around it.
TN.278._PBClose the Barn Door MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.278._PBClose the Barn Door 0 5K 2/15/91 TN.278._PBClose the Barn Door - You may get the idea when implementing device drivers that _PBClose is superfluous. After all, if you have a resident driver for a NuBus™ video board, the only time your driver is not needed is if the operating system is going away. It might seem that nothing important can happen after the operating system goes away, so why bother with _PBClose? Well, it turns out a lot can happen, and this Note tells you why it is important to implement a Close (_PBClose) routine.
TN.277.Time Space _CopyBits MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.277.Time Space _CopyBits 0 25K 2/15/91 TN.277.Time Space _CopyBits - This Technical Note describes the various factors that can influence the speed of _CopyBits so that developers can set up conditions to achieve the best performance for the particular situation.
TN.276.Gimmie Depth or Death MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.276.Gimmie Depth or Death 0 8K 2/15/91 TN.276.Gimmie Depth or Death - This Technical Note describes two new system calls that allow an application to change the depth and flags for a given device and also check whether a device supports a particular depth and flags setting. Apple provides these calls to give developers a better way to help users make changes when they consider it appropriate. Abusive use of these calls is a sure way to guarantee that the Thought Police come after you to confiscate your Macintoshes, your stock of Mountain Dew®, and your Technical Notes binder. This Note assumes familiarity with Inside Macintosh, Volume V, Graphics Devices.
TN.273.SCSI Termination MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.273.SCSI Termination 0 11K 2/15/91 TN.273.SCSI Termination - This Technical Note discusses SCSI termination on the Macintosh, including the new rules of termination which are necessary with the advent of the high-speed Macintosh IIfx. Changes since April 1990. Fixed a typographical error which represented µF as mFWhy Is The Terminator After Sarah Connor? One of the features of the Macintosh IIfx is a new SCSI chip that provides SCSI data transfer rates up to three megabytes per second, faster than any existing Macintosh model. To achieve these transfer rates, components on the Macintosh IIfx logic board are smaller and faster, requiring different termination configurations than previous Macintosh models.
TN.272.Sony Drives For You MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.272.Sony Drives For You 1 25K 2/15/91 TN.272.Sony Drives For You - This Technical Note discusses the Sony driver control and status calls that are available on the Macintosh. Changes since April 1990. Corrected Figure 2, since the Return Physical Drive Icon (csCode = 21) returns an error message instead of an icon on the Macintosh Plus. This Note covers the external (software) interface to the Sony 3.5” floppy disk and Hard Disk 20 driver. It describes all the new calls, including those for Modified Frequency Modulation (MFM) driver versions. This discussion assumes a general understanding of the operation of Macintosh drivers.
TN.268.MacinTalk Final Chapter MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.268.MacinTalk Final Chapter 1 6K 2/15/91 TN.268.MacinTalk Final Chapter - This Technical Note discusses the MacinTalk software product. The Introduction. For the introduction of the Macintosh computer, it was decided (by the powers formerly in charge) that such a computer would need something very special to make it a unique event. To aid in this concept, a third-party company was contracted to write a speech synthesizer which would allow the Macintosh computer to introduce itself. The contract was signed, and the work begun.
TN.267.TE Technicalities MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.267.TE Technicalities 1 5K 2/15/91 TN.267.TE Technicalities - This Technical Note discusses some areas in TextEdit that have not previously been clearly documented.
TN.266.Pointing Device Struct MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.266.Pointing Device Struct 1 18K 2/15/91 TN.266.Pointing Device Struct - This Technical Note specifies a memory data structure for use by absolute pointing devices; it was developed for the Apple Desktop Bus (ADB) but could also be used for devices using serial input. Generally, this data structure is created and updated by the pointing device’s driver and read by either an application or the system cursor rendering software.
TN.265.Pascal to C PROC Parms MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.265.Pascal to C PROC Parms 0 16K 2/15/91 TN.265.Pascal to C PROC Parms - This Technical Note talks about nested procedures and PROCEDURE parameters in Pascal and what to do when converting them into C or C++. Changes since February 1990. Fixed some type coercion problems.
TN.264.Date & Time Problems MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.264.Date & Time Problems 1 6K 2/15/91 TN.264.Date & Time Problems - This Technical Note describes known bugs and features in and solutions to the date and time routines introduced in Script Manager 2.0. From the beginning, the Macintosh’s ability to handle dates was limited to a rather small range—slightly more than a century. Enhancements to the Script Manager, introduced with System Software 6.0, extended this range to ±35,000 years. Unfortunately, there is a minor bug in one of the crucial calls and a “feature” that looks like a bug in another.
TN.263.International Canceling MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.263.International Canceling 2 11K 2/15/91 TN.263.International Canceling - This Technical Note describes potential problems canceling operations with the Command-period key sequence and international keyboards.
TN.262.Control & Status Calls MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.262.Control & Status Calls 1 5K 2/15/91 TN.262. This Technical Note discusses situations under which high-level Status calls do not work correctly and PBStatus calls should be made instead. Changes since February 1990, Information has been added describing similar problems with high-level Control calls.
TN.261.Cache As Cache Can MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.261.Cache As Cache Can 1 10K 2/15/91 TN.261.Cache As Cache Can - This Technical Note documents some new traps for manipulating the data and instruction caches on 68030-based Macintosh models and describes the MMU mapping set up by the ROMs for NuBus™ cards. The Motorola MC68030 CPU used by the Macintosh IIx, IIcx, IIci, and SE/30 includes a data cache, an instruction cache, and a MMU (Memory Management Unit). This Note describes the problems that data caching can cause, Apple’s solution to this problem, and additional information about MMU mapping on MC68030-equipped machines.
TN.260.NuBus Power Limits MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.260.NuBus Power Limits 1 8K 2/15/91 TN.260.NuBus Power Limits - This Technical Note discusses a very real power limit for NuBus™ expansion cards and warns developers to heed this limit lest they want users trashing their machines by overextending the Macintosh power supply.
TN.259.Old Style Colors MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.259.Old Style Colors 0 8K 2/15/91 TN.259.Old Style Colors - This Technical Note covers limitations of the original Macintosh color model (eight-color) which Inside Macintosh, Volume I-173, QuickDraw does not document. Changes since October 1989. Added definitions of the old-style constants.
TN.258.Our Checksum Bounced MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.258.Our Checksum Bounced 1 6K 2/15/91 TN.258.Our Checksum Bounced - This Technical Note discusses a fix to a SCSI Manager bug which concerns all developers working with SCSI and NuBus™ device drivers.
TN.257.Slot Interrupt Priority MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.257.Slot Interrupt Priority 1 3K 2/15/91 TN.257.Slot Interrupt Priority - This Technical Note describes the way interrupt priorities are scheduled, which corrects the description of slot interrupt queue priorities in the Device Manager chapter of Inside Macintosh, Volume V-426.
TN.256.Stand-Alone Code.cpt MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.256.Stand-Alone Code.cpt 0 131K 2/15/91 TN.256.Stand-Alone Code.cpt - This Technical Note discusses many of the issues related to stand-alone code modules. This Note is by no means a completely original work, as the author borrows freely from the work of Keith Rollin, Mark Baumwell, and Jim Friedlander. Changes since October 1989. Completely rewritten to broaden the discussion of stand-alone code modules and include a greater scope of examples. Incorporates Technical Notes #110, MPW: Writing Stand-Alone Code and #145, Debugger FKEY.
TN.255.Portable ROM Expansion MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.255.Portable ROM Expansion 2 19K 2/15/91 TN.255.Portable ROM Expansion - This Technical Note explains the practice of and theory behind compatible use of the expansion ROM in the Macintosh Portable. Due to the unique nature of the Macintosh Portable, developers now have the ability to add ROM to the Macintosh. To provide for compatible shared use of this ROM space with Apple and other developers, this Note describes the feature and suggests methods of shared implementation.
TN.254.Portable PDS Development MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.254.Portable PDS Development 2 16K 2/15/91 TN.254.Portable PDS Development - The Technical Note describes the unique aspects of the Macintosh Portable Processor Direct Slot (PDS), including the severe limitations in its use. Changes since October 1989. Corrected PDS pin and signal descriptions in Tables 2 and 3.
TN.253.SICNs in Menus MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.253.SICNs in Menus 2 8K 2/15/91 TN.253.SICNs in Menus - This Technical Note describes a new facility of the Menu Manager which allows you to add reduced icons and small icons to your menus. Changes since August 1989. Corrected references to SetItemCmd from SetItmCmd.
TN.252.Plotting Small Icons MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.252.Plotting Small Icons 1 11K 2/15/91 TN.252.Plotting Small Icons - This Technical Note discusses the 'SICN' resource format and how to plot one in a GrafPort. Changes since August 1989. Corrected errors in the Pascal code and spruced up the rest.
TN.251.Safe cdevs MacTNsDL AMUG CD:Files:MacTechNotes:TN.251.300:TN.251.Safe cdevs 1 6K 2/15/91 TN.251.Safe cdevs - This Technical Note describes a potential problem with Control Panel devices (cdevs) that contain EditText fields and presents a way to avoid it. The Control Panel chapter in Inside Macintosh, Volume 5 describes, in detail, how run-time errors are handled by the Control Panel and a cdev. There is, however, a potential problem with cdevs that contain EditText items that this chapter does not cover.
TN.250.AppleTalk Phase 2 MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.250.AppleTalk Phase 2 1 33K 2/15/91 TN.250.AppleTalk Phase 2 - This Technical Note discusses the new features and calls available with AppleTalk Phase 2. Changes since August 1989. Incorporated the ClosePrep and CancelClosePrep transitions and the new control calls to the .MPP driver.AppleTalk Phase 2 is only available on Macintosh Plus or later Macintosh platforms, and it requires the installation of AppleTalk file V53, or greater. Both EtherTalk 2.0 and TokenTalk 2.0 automatically install this AppleTalk file. Developer Technical Support can supply the Phase 2 drivers for development use; however, if you need to include the Phase 2 drivers in your product, you must license them from Software Licensing.
TN.249.Opening Serial Driver MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.249.Opening Serial Driver 2 5K 2/15/91 TN.249.Opening Serial Driver - This Technical Note describes the recommended, safe, and compatible way to open the Macintosh serial driver, and it explains why you should no longer check for port availability. Changes since October 1989: Corrected syntax errors in the sample code.
TN.248.DAs in Need of Time MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.248.DAs in Need of Time 1 9K 2/15/91 TN.248.DAs in Need of Time - This Technical Note describes a few complications which rear their rather ugly little heads when a desk accessory or driver needs periodic time. It also presents a few solutions to work around these problems and make life easier, at least periodically. Changes since August 1989: Corrected _BitClr and _BitSet examples. Okay, I admit it. I was having too good of a time when I wrote the original Note and messed up the bit manipulations at the end. My vision was blurred; I was in no condition to see those tiny little things.
TN.247.DeskHook and INIT Evils MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.247.DeskHook and INIT Evils 1 8K 2/15/91 TN.247.DeskHook and INIT Evils - This Technical Note discusses INIT evils, the foremost of which deals with clearing DeskHook and DragHook at INIT time Changes since August 1989. Added warning about clearing DragHook.If you’ve survived the typical DTS Tirade* and still feel the need to display a dialog box or window in an INIT, you need to be aware of a problem which exists on Macintoshes earlier than the Macintosh II (remember those?). There is a low-memory global named DeskHook ($A6C), which can contain a pointer to a routine responsible for painting the Macintosh desktop.
TN.246.Mixing HFS and C I/O MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.246.Mixing HFS and C I/O 1 8K 2/15/91 TN.246.Mixing HFS and C I/O - This Technical Note discusses the problem of mixing calls to the Macintosh file system with calls to MPW C library file I/O routines. Problems with Communication Between HFS and C Frequently, developers want to use both Macintosh file I/O and C file I/O. Developers who do this must keep in mind that they are combining two distinct file representations (the Macintosh and ANSI C). The only limitation on mixing HFS and C I/O functions is that they cannot be mixed on the same open file. There are three reasons why this cannot be done.
TN.245.Font Family Numbers MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.245.Font Family Numbers 1 9K 2/15/91 TN.245.Font Family Numbers - This Technical Note discusses the range of numbers available for identifying font families, how they are allocated among script systems, what numbers should be used for fonts that were designed to be used as a tool in an application, and Apple’s font registration program.
TN.244.Color Cursor Cursing MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.244.Color Cursor Cursing 1 4K 2/15/91 TN.244.Color Cursor Cursing - Working with color cursors you create from scratch can cause headaches. This Technical Note may help a bit. Changes since June 1989: Added a warning about purgeable 'clut' resources. If you’re building an application that creates color cursors, you may encounter some quirks present in Color QuickDraw that manifest themselves in hard-to-understand ways.
TN.243.Script Mgr Variables MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.243.Script Mgr Variables 1 24K 2/15/91 TN.243.Script Mgr Variables - The Script Manager maintains a number of global variables which can be read with the routine _GetEnvirons. These variables can be set by a corresponding routine, _SetEnvirons. In addition, each script interface system maintains variables of its own. These are referred to as local variables in Inside Macintosh, Volume V-293, The Script Manager, and are read by _GetScript and set by _SetScript.
TN.242.Fonts and the Script Mgr MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.242.Fonts and the Script Mgr 1 12K 2/15/91 TN.242.Fonts and the Script Mgr - The traps _FontScript, _IntlScript, and _Font2Script all use a font family ID to determine the script interface system code that they return. This Note describes the process, the way the Script Manager renumbers the Chicago font for non-Roman systems, and the equation for calculating Script IDs from font family IDs.
TN.241.ScriptMgr Pixel2Char MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.241.ScriptMgr Pixel2Char 1 10K 2/15/91 TN.241.ScriptMgr Pixel2Char - This Technical Note discusses the Pixel2Char routine provided by the Script Manager. Changes since June 1989: Clarified information, corrected minor errors, and replaced the illustration. The leftSide flag in the Pixel2Char routine was inappropriately named, and it should now be called the leadingEdge flag. The reason for this change is that the value Pixel2Char returns indicates whether a mouse-down occurred on the leading edge of a character, which is not always the left side. (In Arabic or Hebrew, both of which are right-to-left scripts, the mouse-down occurs on the right side of the character.)
TN.240.MPW for Non-Mac Systems MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.240.MPW for Non-Mac Systems 1 17K 2/15/91 TN.240.MPW for Non-Mac Systems - Occasionally there is a need to create routines or programs for non-Macintosh systems. Such situations can occur if you are writing a driver for a NuBus board, developing a peripheral that uses a 68xxx microprocessor, or perhaps targeting a proprietary 68xxx machine (Apple uses MPW for all of its ROM and NuBus development.)
TN.239.Inside Object Pascal MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.239.Inside Object Pascal 1 5K 2/15/91 TN.239.Inside Object Pascal - This Technical Note briefly explains why Object Pascal and MacApp should only be used to write applications and MPW tools. Although Pascal can be used to write desk accessories, drivers, XCMDs and other types of stand–alone code, and Object Pascal is an extension of Pascal, Object Pascal cannot be used to write anything other than an application. This limitation is due to the fact that Object Pascal method dispatching relies on a valid A5 pointing to a jump table. Because MacApp is written in Object Pascal, this limitation applies to it as well.
TN.238.Getting a Full Pathname MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.238.Getting a Full Pathname 1 11K 2/15/91 TN.238.Getting a Full Pathname - This Technical Note describes how to generate a full pathname, given either a Working Directory ID or a real vRefNum and a DirID. By using the techniques shown in this Note, you can find the full pathname from information such as that returned by Standard File. Changes since June 89. Added a note on how to check for A/UX. Fixed bug in C version: BlockMove() parameters were reversed in pStrcpy(); added range checking to pStrCat(); changed references from “longint” to “long”. Fixed bug in Pascal and C versions: Changed fsRtDir to fsRtdirID and made references to gHaveAUX consistent.
TN.237.TextEdit Limits Again MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.237.TextEdit Limits Again 1 6K 2/15/91 TN.237.TextEdit Limits Again - This Technical Note describes another limit on the length of a TextEdit record that was previously undocumented. The TextEdit chapters in Inside Macintosh document the 32K character limit on a TextEdit record length. They do not, however, discuss the more subtle constraint on the size of the destRect. By definition, the destRect uses integer values for the top-left and bottom-right boundary points. It is possible to have values too large for the destRect without reaching the teLength limit.
TN.236.Speedy Coprocessor MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.236.Speedy Coprocessor 1 27K 2/15/91 TN.236.Speedy Coprocessor - This Technical Note presents an overview of the 68881 and 68882 math coprocessors, and it covers general information about the chips as well as how using the chips directly can help speed your math–intensive code.
TN.235.Coop with Coprocessor MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.235.Coop with Coprocessor 0 7K 2/15/91 TN.235.Coop with Coprocessor - The use of the 68881 or 68882 coprocessor is usually handled by the SANE package or by a development system’s libraries. Some developers may wish to use the coprocessor during special circumstances, such as at interrupt level or installing their own hardware floating point exception handlers. In these two situations, there are special requirements that must be met. These requirements will require floating–point assembly code and are discussed in this Technical Note. Changes since June 1989. Noted that the new Sound Manager no longer uses floating-point numbers at interrupt time.
TN.234.NuBus Physical Designs MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.234.NuBus Physical Designs 1 23K 2/15/91 TN.234.NuBus Physical Designs - This Technical Note discusses the possible problems you might run into while designing a NuBus™ card. It covers some of the specifications which, if not followed, will have problems with current Macintosh machines, and possibly future machines. Changes since June 1989. Added warnings about the no component area and full-size NuBus cards.
TN.233.MF and _SetGrowZone MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.233.MF and _SetGrowZone 1 6K 2/15/91 TN.233.MF and _SetGrowZone - MultiFinder gives each application its own heap in which to run. Because it wants to do some fairly tricky memory management, MultiFinder installs its own grow zone procedure (gzProc) in the application heap, and patches _SetGrowZone to store your application’s gzProc in a temporary variable inside of itself.
TN.232.Strip _OpenResFile... MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.232.Strip _OpenResFile... 1 5K 2/15/91 TN.232.Strip _OpenResFile...- This Technical Note discusses a bug in _OpenResFile and _OpenRFPerm which can cause system crashes and what you can do to avoid this problem. The traps _OpenResFile and _OpenRFPerm call some common code in 128K and later ROMs which was affected by some system patches for early print drivers. The problem is that the common code checks an attribute bit in the pointer to the string name to see if it is a dereferenced handle.
TN.231.Allegro Common Lisp MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.231.Allegro Common Lisp 0 16K 2/15/91 TN.231.Allegro Common Lisp - This Technical Note describes some known problems and provides solutions to these problems for the Macintosh Allegro Common Lisp™ package which is available from Apple Computer, Inc. You should note, however, that although Apple acquired Coral Software and is selling Macintosh Allegro Common Lisp, Apple is not currently distributing any other products which had been developed or previously sold by Coral Software.
TN.230.Macintosh SE/30 MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.230.Macintosh SE/30 1 12K 2/15/91 TN.230.Macintosh SE/30 - This Technical Note discusses the Macintosh SE/30, items of interest to developers, and sources for further information. Changes since April 1989. Corrected an error in the addresses of the video display buffers. The Macintosh SE/30 is a modification of the original Macintosh SE concept. The SE/30 combines the modularity of the original SE with the capabilities of the larger Macintosh IIx. Although the name implies that the SE/30 borrows many characteristics from the SE, there are actually substantial differences between the two machines, and this Note addresses some of those differences.
TN.228.Swapping MMU Mode MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.228.Swapping MMU Mode 1 5K 2/15/91 TN.228.Swapping MMU Mode - This Technical Note describes how to avoid crashing when swapping into 32-bit mode on a Macintosh II. Thanks to Jim Berry and Dan Weston for pointing this out. There is a condition where calling _SwapMMUMode to switch the Macintosh II into 32-bit mode can cause the system to crash. This condition happens in code which is loaded into memory from a resource, or is placed in memory that was allocated by the Memory Manager and is subsequently executed by using the master pointer as the address for a JSR instruction. This condition includes stand-alone, executable code resources (i.e., 'XCMD', 'XFCN', 'INIT', 'ADBS','FKEY', etc.), but does not apply to standard 'CODE' resources.
TN.227.Toolbox Karma MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.227.Toolbox Karma 1 6K 2/15/91 TN.227.Toolbox Karma - This Technical Note discusses Macintosh Toolbox compatibility and what you can do to help the Macintosh continue evolving in the future. It is getting increasingly difficult to make additions to the Macintosh Toolbox. The single greatest obstacle today is compatibility. Often, engineering is prevented from doing something in an elegant manner because it would break some applications. This usually leaves three choices.
TN.226.Moving Your Cat MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.226.Moving Your Cat 1 13K 2/15/91 #226 Moving Your Cat Revised by John Harvey February 1991. This Technical Note clarifies the documentation in Inside Macintosh for _PBCatMove and provides a demonstration on how to use it. Changes since February 1989. Added a discussion of using NIL for the destination name pointer, which is the simplest way to use _CatMove, and revised the sample code to use the high-level File Manager calls. Thanks to Tim Dierks of Apple Developer Technical Support U.K. for pointing out the problems with the previous version of this Note.
TN.225.Using RegisterName MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.225.Using RegisterName 1 4K 2/15/91 TN.225.Using RegisterName - The verify flag indicator byte (verifyFlag) of the AppleTalk RegisterName function should always be set TRUE in published code. The AppleTalk chapter of Inside Macintosh, Volume II-322, in describing the RegisterName function, states:
TN.224.Opening AppleTalk MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.224.Opening AppleTalk 1 5K 2/15/91 TN.224.Opening AppleTalk - This Technical Note describes the most effective, safe, and compatible way to open the AppleTalk drivers, .MPP and .ATP. The process of opening the AppleTalk drivers, .MPP and .ATP, can be greatly simplified. The AppleTalk Manager chapters of Inside Macintosh describe the calls MPPOpen and ATPLoad for use by high-level languages. They also describe the process of examining low-memory globals SPConfig and PortBUse before calling _Open for assembly language use of AppleTalk.
TN.223._InitGraph with MPW Asm MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.223._InitGraph with MPW Asm 1 5K 2/15/91 TN.223._InitGraph with MPW Asm - The Macintosh Programmer’s Workshop (MPW) requires assembly-language programmers to allocate their own QuickDraw global variables rather than use the default record as indicated in Inside Macintosh.
TN.222.Custom Menu Flashing MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.222.Custom Menu Flashing 1 4K 2/15/91 TN.222.Custom Menu Flashing - Selected menu items in a custom 'MDEF' resource do not flash correctly due to a bug in the Menu Manager. This Technical Note describes the problem and explains how to make your 'MDEF' flash correctly.
TN.221.NuBus Interrupt Latency MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.221.NuBus Interrupt Latency 1 9K 2/15/91 TN.221.NuBus Interrupt Latency - This Technical Note discusses NuBus™ interrupt latency, and why, contrary to popular belief, the Macintosh is not a real-time machine. Changes since December 1988: Changed sample code to defer cursor rendering to a deferred task rather than a “pseudo-VBL” task.
TN.220.Segment Loader Limits MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.220.Segment Loader Limits 1 5K 2/15/91 TN.220.Segment Loader Limits - This Technical Note discusses the jump table limitations of the Segment Loader and suggests some ways to work around these limitations to minimize the problem. These limitations are most evident to developers using MacApp and other object-oriented environments.
TN.219.New Memory Manager Glue MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.219.New Memory Manager Glue 1 4K 2/15/91 TN.219.New Memory Manager Glue - This Technical Note describes some new Memory Manager routines which make life a little easier for C and Pascal programmers. MPW 3.0 includes some new glue routines that allow you to allocate pre-zeroed handles and pointers and to allocate memory (zeroed or otherwise) in the system heap. These capabilities have always been available to assembly language programmers, but these routines make it possible for C and Pascal programmers to achieve the same results.
TN.218.New High-Level File Mgr MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.218.New High-Level File Mgr 1 6K 2/15/91 TN.218.New High-Level File Mgr - This Technical Note describes some new high-level File Manager calls that make dealing with the Hierarchical File System (HFS) easier. When the Hierarchical File System (HFS) was first introduced, a large number of low-level File Manager calls were documented. Unfortunately, higher-level equivalents to these calls were not present until now. The glue for these routines is built into MPW 3.0. They are provided as a convenience for those of you who hate filling in parameter blocks.
TN.216.AppleShare Limits MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.216.AppleShare Limits 1 3K 2/15/91 TN.216.AppleShare Limits - This Technical Note describes some machine-dependent limits of current versions of AppleShare and AppleShare servers. The following chart lists some current AppleShare limits which are based upon the chosen server platform and memory configuration. The limits which otherwise might be present on a workstation are still in effect and are not affected by the workstation being logged into an AppleShare server. These limits will change in the future.
TN.215.“New” cdev Messages MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.215.“New” cdev Messages 1 5K 2/15/91 TN.215.“New” cdev Messages - This Technical Note describes some previously undocumented messages that the Control Panel can send to a Control Panel device (cdev). The Control Panel will send messages to a Control Panel device (cdev) in response to the user selecting the Undo, Cut, Copy, Paste and Clear items of the Edit menu. It will also send a message if the cdev contains a 'CURS' = –4064 resource. The following is a list of the previously undocumented messages, descriptions, and values:
TN.214.New Resource Mgr Calls MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.214.New Resource Mgr Calls 1 4K 2/15/91 TN.214.New Resource Mgr Calls - This Technical Note describes two new Resource Manager calls that make opening and creating resource files much easier. MPW 3.0 supplies glue routines for two new Resource Manager calls which provide new, easier ways of opening and creating resource files.
TN.213._StripAddress MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.213._StripAddress 0 9K 2/15/91 TN.213._StripAddress - Inside Macintosh, Volume V, The OS Utilities, incorrectly documents the _StripAddress trap; this Technical Note correctly documents the trap and gives guidelines for its use. Changes since April 1990. Added a discussion of why the _StripAddress trap should be used under certain circumstances when patching traps.
TN.212.Joy of 32-Bit Clean MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.212.Joy of 32-Bit Clean 1 12K 2/15/91 TN.212.Joy of 32-Bit Clean - What to do (and what not to do) to make your programs run under A/UX and future versions of the Macintosh System Software. Changes since October 1988. Added information on writing 32-bit clean CDEFs, and updated A/UX information to reflect the capabilities of A/UX 1.1.
TN.211.Palette Manager Changes MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.211.Palette Manager Changes 2 6K 2/15/91 TN.211.Palette Manager Changes - This Technical Note describes the changes and enhancements to the Palette Manager in System Software 6.0.2 and future versions.
TN.210.Desktop File Limits MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.210.Desktop File Limits 1 4K 2/15/91 TN.210.Desktop File Limits - There is a limit to the number of applications/files that the Finder can “see” on a single volume. This limitation is imposed by the Desktop file. The Desktop file is a resource file that the Finder uses to keep track of information about files and applications, including Finder file comments (Get Info comments), and how these files and applications relate to each other.
TN.209.CD ROM Formats MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.209.CD ROM Formats 1 5K 2/15/91 TN.209.CD ROM Formats - Generally, if a Macintosh has problems with a High Sierra disc, it’s because the disc in question doesn’t really conform to the High Sierra specification. There are actually two specifications of the High Sierra format. The Paper 28 May 1986 Working Paper for Information Processing — Volume and File Structure of Compact Read Only Optical Discs for Information Interchange (known as the “High Sierra” specification.) We’ll call discs conforming to this standard “High Sierra” discs.
TN.208.Setting and Restoring A5 MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.208.Setting and Restoring A5 1 9K 2/15/91 TN.208.Setting and Restoring A5 - The routines SetupA5 and RestoreA5 do not work properly when used with some optimizing Pascal and C compilers. Two new routines, SetCurrentA5 and SetA5, are available in MPW 3.0, and they should work with any compiler. Changes since December 1988. Removed the sample code and expanded the explanation of these two routines. The sample code in Technical Note #180 reflects these new A5 routines.
TN.207.Styled TextEdit 6.0 MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.207.Styled TextEdit 6.0 1 28K 2/15/91 TN.207.Styled TextEdit 6.0 - Some changes were made to TextEdit in System 6.0 to provide more functionality and to make life easier for the programmer using TextEdit. This Note documents those changes and enhancements. Changes since August 1, 1988: Corrected an error in TEDispatchRec in the figure on page 8.
TN.206.Space Aliens (ADB) 10/91 MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.206.Space Aliens (ADB) 10/91 1 14K 2/15/91 TN.206.Space Aliens (ADB) - October 1991 - This Technical Note explains how the Apple Desktop Bus (ADB) works on the Macintosh. This Note covers the boot process, driver installation, ADB Manager run-time behavior, use of ADB Manager calls, and answers commonly asked questions.
TN.205.MultiFinder Revisited MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.205.MultiFinder Revisited 1 12K 2/15/91 TN.205.MultiFinder Revisited - This Technical Note describes several new features found in MultiFinder 6.0 and answers a few more commonly-asked questions. Changes since October 1989: Clarified the section on childDiedEvent events. How Can I Tell If MultiFinder is Present. Once again, you can’t. Previous Technical Notes discuss how to check for the new services available with MultiFinder (i.e., _WaitNextEvent and the temporary memory allocation calls).
TN.204.HFS Tidbits MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.204.HFS Tidbits 1 4K 2/15/91 TN.204.HFS Tidbits - This Technical Note describes two poorly documented features of the File Manager. Always Set ioFVersNum to Zero - When making a File Manager call which uses a CInfoPBRec, or the fileParam or ioParam portion of either a ParamBlockRec or an HParamBlockRec, you should set the ioFVersNum field to zero.
TN.203.Managerial Abuse MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.203.Managerial Abuse 1 13K 2/15/91 TN.203.Managerial Abuse - When using the various pieces of the Macintosh operating system there is a temptation to try to stretch the built-in Managers too far. Developers should be aware of the intended purpose of the various Managers and beware of using them for things that they were not designed to handle. If extended beyond their design goals, they will become slow and unwieldy.
TN.202.Resetting the Event Mask MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.202.Resetting the Event Mask 1 6K 2/15/91 TN.202.Resetting the Event Mask - In most cases, applications should not modify the system event mask, which means they should avoid calling SetEventMask and not alter the low-memory global SysEvtMask. Modifying the event mask is of no use to most applications, and the only situation in which an application might need to modify it is to detect key-up events. Only those developers creating applications which must detect key-up events need to know the information presented in this Technical Note. Other developers should avoid altering the system event mask at all costs.
TN.201.Read Packet MacTNsDL AMUG CD:Files:MacTechNotes:TN.201.250:TN.201.Read Packet 1 3K 2/15/91 TN.201.Read Packet - This technical note clears up some confusion concerning the low-level function ReadPacket. This function is called by protocol handlers and socket listeners.
TN.200.MPW 2.0.2 Bugs MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.200.MPW 2.0.2 Bugs 1 27K 2/15/91 TN.200.MPW 2.0.2 Bugs - This Technical Note describes latest information about bugs or unexpected “features” in the MPW C, Pascal, and Assembler products and the Toolbox and OS Interface Libraries. We intend this Note to be a complete list of all known bugs in these products, which will be updated as old bugs are fixed, or new ones appear. If you have encountered a bug or unexpected feature which is not described here, be sure to let us know. Specific code examples are useful.
TN.199.KillNBP MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.199.KillNBP 1 4K 2/15/91 TN.199.KillNBP - This technical note clears up some confusion regarding the Name Binding Protocol KillNBP function. The description of the PKillNBP function on page 519 of Inside Macintosh Volume V is somewhat confusing. The data type of the parameter thePBptr is incorrectly given as ATPPBPtr and the pointer to the queue element from the NBP call to be aborted is incorrectly given as being passed in aKillQEl. The following is a correct description of the KillNBP function:
TN.198.NFNTs MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.198.NFNTs 1 11K 2/15/91 TN.198.NFNTs - Font/DA Mover version 3.8 (shipped with System 6.0) incorporates support for 'NFNT' resources and styled font family members. This note discusses several issues concerning the arrangement of font-related resources and their IDs. It also documents the proper arrangement of font resources within the font files that Font/DA Mover uses.
TN.197.Chooser PACK MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.197.Chooser PACK 1 11K 2/15/91 TN.197.Chooser PACK - Beginning with version 3.2, the Chooser has been enhanced to provide support for additional controls. As stated in Inside Macintosh IV-217, the Chooser communicates with device packages as if they were the following function:
TN.196.CDEF Params and Bugs MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.196.CDEF Params and Bugs 1 4K 2/15/91 TN.196.CDEF Params and Bugs - This Technical Note describes known bugs in the Control Manager which affect control definition functions ('CDEF' resources). Changes since August 1988: Updated to reflect known bugs in the posCntl and thumbCntl messages and the Control Manager _TrackControl call.
TN.195.ASP & AFP MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.195.ASP & AFP 0 4K 2/15/91 TN.195.ASP & AFP - The descriptions of the AppleTalk Session Protocol and AppleTalk Filing Protocol functions within the body of the AppleTalk Manager chapter are incorrect and conflict with those in the Summary of the AppleTalk Manager. This technical note resolves the discrepancy.
TN.194.WMgrPortability MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.194.WMgrPortability 1 7K 2/15/91 TN.194.WMgrPortability - Where WMgrPort (the Window Manager’s port), MultiFinder, and drawing outside of one’s windows will be reconciled. Beware - Drawing outside of windows from within an application is guaranteed to make that application less compatible with future systems. In order to be as MultiFinder compatible as possible, draw only in response to an update event or as part of the feedback for a user action, i.e. while tracking the mouse. MultiFinder compatibility is just as important as HFS compatibility!
TN.193.So Many Bitmaps… MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.193.So Many Bitmaps… 1 6K 2/15/91 TN.193.So Many Bitmaps… - This Technical Note discusses the routine BitMapToRegion, which converts a bitmap to a region, and is available in the 32-Bit QuickDraw INIT and from Apple Software Licensing. Changes since October 1989: Added trap definitions for developers using the 32-Bit QuickDraw version of this routine without the correct MPW include file.
TN.192.Surprises in LW 5.0 MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.192.Surprises in LW 5.0 0 10K 2/15/91 TN.192.Surprises in LW 5.0 - This Technical Note describes some changes in version 5.0 and later LaserWriter drivers. Changes since April 1988 - Described a bug in 5.x which is fixed in 6.0 and later, and reiterated a warning about storing fonts in an application. With the release of LaserWriter 5.0 and background printing, a few changes had to be made to the LaserWriter driver. Although these changes were transparent to most applications, some have had problems. Most of these problems are related to use of unsupported features. This Note details a partial list of the changes.
TN.191.Font Names MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.191.Font Names 1 9K 2/15/91 TN.191.Font Names - This note recommends the use of font names rather than font numbers. The Font Manager chapter of Inside Macintosh Volume IV claims that font family numbers 0 through 127 are reserved for use by Apple, and numbers 128 through 255 are assigned by Apple for fonts created by software developers. This is no longer true. Developer Technical Support does not assign font family numbers. You should only use font numbers to reference the system font (font 0) and application default font (font 1). All other fonts should be identified by name. The Font/DA Mover will renumber a font when moving it into a file containing a conflicting font family.
TN.190.WDs & MultiFinder MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.190.WDs & MultiFinder 1 4K 2/15/91 TN.190.WDs & MultiFinder - This technical note describes the way that working directories are handled under MultiFinder. Some versions of Technical Note #77 claim that you can open working directories with a unique ioWDProcID and that they will only be deallocated when “the system is rebooted.”
TN.189.Version Territory MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.189.Version Territory 0 13K 2/15/91 TN.189.Version Territory - This Technical Note describes the 'vers' resource supported by Finder 6.1 and later. Changes since October 1988: Changed MPW C code to reflect the changes in MPW C 3.1. Finder 6.1 introduced a feature which allows the creator of a file to identify the version of that file as well as the version of a set of files which includes that file. These version numbers are stored in 'vers' resources, and each contains a BCD form of the version number and a longer version message (which the Finder displays in the Get Info window for each file).
TN.188.ChangedResource MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.188.ChangedResource 1 4K 2/15/91 TN.188.ChangedResource - The toolbox trap ChangedResource is used to inform the Resource Manager that the contents of a resource have changed and should be written to disk. The actual write occurs on the next call to WriteResource (for the specific resource) or UpdateResFile (for the resource file containing the specified resource). When called, ChangedResource reserves enough disk space to contain the changed resource. A little-known “feature” of ChangedResource is that it reserves disk space every time it is called.
TN.187.ioPosOffset MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.187.ioPosOffset 1 3K 2/15/91 TN.187.ioPosOffset - The Device Manager chapter of Inside Macintosh Volume II says that ioPosOffset is passed to and returned by Read and Write calls. It also says that “After the read [or write] is completed, the position is returned in ioPosOffset…” Actually, ioPosOffset is not changed by either call. Also note that device drivers should only look at the dCtlPosition field of the DCE, and should not look directly at the ioPosOffset field of the parameter block. The Device Manager sets up dCtlPosition for the driver, taking into account both the ioPosMode and the ioPosOffset.
TN.185.OpenRFPerm MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.185.OpenRFPerm 1 4K 2/15/91 TN.185.OpenRFPerm - This note corrects an error in the description of the Resource Manager routine OpenRFPerm found in Inside Macintosh Volume IV.
TN.184.Notification Manager MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.184.Notification Manager 1 12K 2/15/91 TN.184.Notification Manager - This Technical Note describes the Notification Manager, the part of the operating system that lets an application, desk accessory, or driver alert the user. Changes since October 1989: Clarified the section on error handling for calls to _NMInstall.
TN.183.Position ind PS MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.183.Position ind PS 1 7K 2/15/91 TN.183.Position ind PS - This technical note describes a method for inserting position-independent PostScript into QuickDraw pictures. There is a problem with pictures that contain PostScript code. Sometimes the PostScript code that is inserted into the picture is dependent on the position of the picture on the page. The problem arises when these pictures are cut or copied from their original position, and pasted into another position or even into another document. The PostScript code will not know the new location of the picture, and will not execute correctly.
TN.182.WordBreak Tables MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.182.WordBreak Tables 1 12K 2/15/91 TN.182.WordBreak Tables - This technical note describes how to construct auxiliary break tables for use with the FindWord routine in the Script Manager. Constructing break tables - The FindWord algorithm finds word boundaries by determining where words should not be broken. For example, “re-do” is one word: it should not be broken at the hyphen. In other words, a sequence of the form: (letter, hyphen, letter) should not be broken between the first and second or second and third character.
TN.181.Picture Comments MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.181.Picture Comments 1 4K 2/15/91 TN.181.Picture Comments - Application-specific picture comment conflict and registration is addressed, along with Developer Technical Support’s method for solving it. I will assume that the nature and usefulness of picture comments are already well known.
TN.180.MultiFinder Miscellanea MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.180.MultiFinder Miscellanea 1 24K 2/15/91 TN.180.MultiFinder Miscellanea - This Technical Note discusses MultiFinder issues of which programmers should be aware. Changes since June 1988: Updated and generalized sample code to reflect new MPW 3.0 calls in both C and Pascal for saving and restoring A5 for interrupt code that accesses application globals. Removed text that can be found in Programmer’s Guide to MultiFinder, and added a note about _PostEvent.
TN.179.ioNamePtr MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.179.ioNamePtr 1 3K 2/15/91 TN.179.ioNamePtr - It is very important to set ioNamePtr when making PB calls, even if you don’t want those calls to return a name. Whenever Inside Macintosh indicates that ioNamePtr is either required for input or returns something, you must set ioNamePtr to either nil (if you aren’t using a name) or to point to storage for a Str255. If you don’t explicitly set ioNamePtr, strange and unusual crashes may occur, depending on the machine/configuration your code is run on.
TN.178.Sorting MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.178.Sorting 2 17K 2/15/91 TN.178.Sorting - This technical note describes how to modify the standard string comparison by constructing an itl2 resource. Developers may want to modify the standard string comparison if Apple’s comparison doesn’t meet their needs or if Apple has not written a string comparison routine for the language that concerns them.
TN.177.WNE Bug/1.0 MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.177.WNE Bug/1.0 1 4K 2/15/91 TN.177.WNE Bug/1.0 - This Technical Note discusses a bug in WaitNextEvent in MultiFinder 1.0. This bug only occurs when WaitNextEvent is called from the background. This bug will be fixed in the next release of MultiFinder. Change since 11/87: the bug will be fixed in Systems with versions greater than $04FF.
TN.176.Mac Memory Configuration MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.176.Mac Memory Configuration 10-91 0 117K 2/15/91 Tech Note 176 - This Technical Note describes the different possible memory configurations of all models of the Macintosh family that use Single In-line Memory Modules (SIMMs) as well as the non-SIMM memory upgrade options of the Macintosh Portable and Macintosh Classic. (Special thanks to Brian Howard for the Macintosh Plus and original SE drawings, and for the inspiration for the other drawings.) This Note also describes the obstacles to using four megabit (Mbit) DRAM SIMMs in Apple’s Macintosh products to date. Added specifications for new CPUs and additional 4 Mbit DRAM information.
TN.175.SetLineWidth Revealed MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.175.SetLineWidth Revealed 1 9K 2/15/91 TN.175.SetLineWidth Revealed - This technical note describes the internal implementation, and correct method of using, the SetLineWidth Picture Comment. The SetLineWidth picture comment provides a way of accessing PostScript’s 'setlinewidth' operator.
TN.174.PrintAction MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.174.PrintAction 1 7K 2/15/91 TN.174.PrintAction - This technical note describes how Print Drivers can access the Script Manager Print Action routine to print unconventional text, such as Japanese or Arabic.
TN.173.PrGeneral Bug MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.173.PrGeneral Bug 1 5K 2/15/91 TN.173.PrGeneral Bug - This technical note documents a bug in the implementation of the PrGeneral procedure in the LaserWriter driver version 4.0. The bug has to do with the format of the information returned by the GetRslData opcode. This technical note will also describe a workaround for the problem.
TN.172.Popup MDEF Message MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.172.Popup MDEF Message 1 6K 2/15/91 TN.172.Popup MDEF Message - In order to support popup menus, menu definition procedures (MDEFs) must now respond to a new message, mPopupMsg. mPopupMsg is message number 3. When your MDEF is called with this message, it should calculate the rectangle in which the popup menu should appear.
TN.171._PackBits MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.171._PackBits 0 6K 2/15/91 TN.171 - This Technical Note describes the format of data packed by the Toolbox utility _PackBits and documents a change to the srcBytes limit and possible worst case.
TN.167.AS Foreground MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.167.AS Foreground 1 4K 2/15/91 TN.167.AS Foreground - This technical note outlines the requirements and restrictions of an AppleShare foreground application. This information pertains to AppleShare versions 1.1 and newer. An AppleShare server requires a dedicated Macintosh. The server, however, is implemented as an interrupt-driven application that runs in the system heap of the server machine.
TN.166.C Glue MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.166.C Glue 1 5K 2/15/91 TN. 166.C Glue - MPW 2.0 includes new C interfaces to ROM routines which no longer do string and point conversions. These new interfaces are described here. In MPW prior to 2.0, the C interfaces to Macintosh OS and Toolbox routines that had strings or points as arguments required following these rules 1. Strings must be passed as C strings (null terminated). 2. Points must be passed by address.
TN.165.AS Drop Folder MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.165.AS Drop Folder 1 4K 2/15/91 TN.165.AS Drop Folder - This technical note outlines the steps an application must take to create files inside AppleShare drop folders. The AppleShare File Server allows the creation of drop folders. These are folders for which the user has the Make Changes privilege (write access), but not See Files (read access) or See Folders (search access). For an application to create a file in such a folder, the following procedure must be executed in strict order:
TN.164.MPW C Functions MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.164.MPW C Functions 0 4K 2/15/91 TN.164.MPW C Functions - Here’s the low-down on when C functions need not be declared in include files. “The include files are all screwed up!” This is a common misconception people have when they look through the MPW C include files. People report that the declaration of a ROM or system call foo() has been mistakenly left out of this or that include file. Here’s the low-down on when functions do not have to be declared in an include file.
TN.163.Colorizing CopyBits MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.163.Colorizing CopyBits 0 7K 2/15/91 TN.163.Colorizing CopyBits - Inside Macintosh Volume V states that the foreground and background colors are applied to an image during a CopyBits or CopyMask call. Accidental use of this feature can create bizarre coloring effects. This note explains what happens, how to avoid problems, and how to use it.
TN.162.MPW 2.0 Pascal Bug MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.162.MPW 2.0 Pascal Bug 0 3K 2/15/91 TN.162.MPW 2.0 Pascal Bug - This note formerly described a bug in the MPW 2.0 Pascal compiler. This bug has been fixed in MPW 2.0.2.
TN.161.Printing Loop That Cares MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.161.Printing Loop That Cares 0 16K 2/15/91 TN.161.Printing Loop That Cares - This Technical Note discusses opening and closing the Printing Manager with calls to _PrOpen and _PrClose as well as how to handle errors at print time. Changes since October 1989: Added the section on error checking, incorporating the error code descriptions formerly found in Technical Note #72, Optimizing For The LaserWriter—Techniques and an updated version of the information formerly found in Technical Note #118, How To Check and Handle Printing Errors.
TN.159.Hard Disk Hacking MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.159.Hard Disk Hacking 2 4K 2/15/91 TN.159.Hard Disk Hacking - For those of a technical bent with some extra time, you can build your own hard disk system from a cheap SCSI drive and a driver that you write. This is not a project for those short on time, so beware.
TN.158.MultiFinder Questions MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.158.MultiFinder Questions 1 12K 2/15/91 TN.158.MultiFinder Questions - This technical note provides answers to some of the more frequently asked questions about MultiFinder. The development name for MultiFinder was Juggler, so the term “juggle” is used in this technical note to denote a context switch.
TN.157.Problem with GetVInfo MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.157.Problem with GetVInfo 1 7K 2/15/91 TN.157.Problem with GetVInfo - The high-level call GetVInfo (and its low-level counterpart PBGetVInfo) may return inaccurate results for freeBytes when running HFS. The high-level File Manager call GetVInfo returns the number of free bytes on a volume as one of its parameters.
TN.156.Identifying Features MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.156.Identifying Features 1 8K 2/15/91 TN.156.Identifying Features - This technical note explains how to check at run time to see if specific functionality, such as the “new” TextEdit, is present.
TN.155.Handles vs. Pointers MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.155.Handles vs. Pointers 1 4K 2/15/91 TN.155.Handles vs. Pointers - A handle is a handle and a pointer is a pointer. Applications should avoid embedding non-relocatable objects (that the system assumes will never move) in handles.
TN.154.Large PICT Files MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.154.Large PICT Files 1 11K 2/15/91 TN.154.Large PICT Files - Now that we have scanners and other massive-picture producing types of applications, there is a need to address the problem of how to display a PICT format object that is bigger than a current PICT resource is allowed to be. Note that this technique applies equally well to version 1 and version 2 (word-opcode) pictures as produced by the Macintosh II.
TN.153.New IU MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.153.New IU 2 7K 2/15/91 TN.153.New IU - The International Utilities package and the international resources have been changed with System file 4.1 to take advantage of the Script Manager.
TN.152.Laser Prep Routines MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.152.Laser Prep Routines 1 6K 2/15/91 TN.152.Laser Prep Routines - This technical note addresses the issues involved in depending on the procedures and constants defined in the Laser Prep dictionary.
TN.151.System Error 33 MacTNsDL AMUG CD:Files:MacTechNotes:TN.151.200:TN.151.System Error 33 1 4K 2/15/91 TN.151.System Error 33 - System 3.2 introduced a new system error, ID=33, generated by the Memory Manager when it notices that a heap had been corrupted in a certain way. This error is listed in the file “SysErr.a” as “negZcbFreeErr”.
TN.150.SE Disk Driver Bug MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.150.SE Disk Driver Bug 1 3K 2/15/91 TN.150.SE Disk Driver Bug - A bug in the Macintosh SE ROMs causes the top drive to be slower than the bottom one in two-drive machines. This bug is fixed in System 4.2 and newer.
TN.149.Document Names MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.149.Document Names 1 4K 2/15/91 TN.149.Document Names - Our compatibility testing for LaserShare (Apple’s LaserWriter spooler) has turned up a number of applications that do not provide the Printing Manager with a document name; although this feature is not required, it is nice for users that share printers.
TN.148.Mac II Board Suppliers MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.148.Mac II Board Suppliers 1 4K 2/15/91 TN.148.Mac II Board Suppliers - This note lists suppliers of parts that may be helpful for Macintosh II board developers. If your company supplies these parts, but is not listed here, please send a message to us (at the address on Technical Note #0) and we’ll include you in the next revision of this technical note.
TN.147.Finder Notes MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.147.Finder Notes 1 4K 2/15/91 TN.147.Finder Notes - The Finder has undergone a couple of changes you should keep in mind when creating the “bundle” information for your application.
TN.146.MPW’s -mc68881 Option MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.146.MPW’s -mc68881 Option 0 9K 2/15/91 TN.146.MPW’s -mc68881 Option - This Technical Note discusses MPW’s -mc68881 option, which represents Extended values in 96 bits (instead of 80, as with software SANE), and compatibility issues when using non-SANE system calls that expect 80-bit Extended values. Changes since March 1988: Added a warning to explicitly check for the presence of an FPU if an application uses floating point instructions and removed a sentence which implied that all Macintosh II-class machines would have built-in FPUs.
TN.145.Debugger FKEY MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.145.Debugger FKEY 0 4K 2/15/91 TN.145.Debugger FKEY - This Technical Note formerly discussed showed how to write an 'FKEY' to trap to the debugger. Changes since March 1988: Merged the contents of this Note into Technical Note #256, Stand-Alone Code, ad nauseam. This Note formerly showed how to write an 'FKEY' resource to trap to the debugger. This information is now an example of writing stand-alone code resources in Technical Note #256, Stand-Alone Code, ad nauseam.
TN.143.Don’t Call ADBReInit MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.143.Don’t Call ADBReInit 1 3K 2/15/91 TN.143.Don’t Call ADBReInit - Because of a bug (which causes auto-repeat) in the ROM version of the Macintosh SE keyboard driver, a patch was placed in System 4.1. If ADBReInit is called, the ROM version of the keyboard driver will be reloaded, and the RAM version of the driver with the patches will not be used. Therefore, it is recommended that ADBReInit not be called on the Macintosh SE until the problem is fixed. (There is no need to call ADBReInit.) This problem will not occur with the Macintosh II ROM version of the keyboard driver.
TN.142.Network Events MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.142.Network Events 1 5K 2/15/91 TN.142.Network Events - Future System software enhancements will not support network events. This note gives hints on weaning your application from the use of network events.
TN.141.Number of Resources MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.141.Number of Resources 1 4K 2/15/91 TN.141.Number of Resources - This note describes the limitation of the number of resources in a single resource file. There is a limit to the number of the resources in a single resource file. This limitation is imposed by the resource map. There are two bytes at the end of the resource map which are the offset from the beginning of the resource map to the beginning of the resource names list.
TN.140.PBHSetVol MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.140.PBHSetVol 1 4K 2/15/91 TN.140.PBHSetVol - This note explains PBHSetVol, and why its use is not recommended. PBHSetVol, like SetVol and PBSetVol, allows you to set the current default volume and directory to be used with subsequent File Manager calls. Unlike SetVol and PBSetVol, though, PBHSetVol lets you specify the volume and the directory separately, using the ioVRefNum and ioWDDirID fields.
TN.139.Macintosh Plus ROMs MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.139.Macintosh Plus ROMs 1 4K 2/15/91 TN.139.Macintosh Plus ROMs - Readers Digest condensed version of Macintosh Plus ROM history, or the truth according to Bo3bdar the everpresent: 1st version (Lonely Hearts, checksum 4D 1E EE E1): Bug in the SCSI driver; won’t boot if external drive is turned off. We only produced about one and a half months worth of these. 2nd version (Lonely Heifers, checksum 4D 1E EA E1): Fixed boot bug. This version is the vast majority of beige Macintosh Pluses.
TN.138.KanjiTalk MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.138.KanjiTalk 1 4K 2/15/91 TN.138.KanjiTalk - This Technical Note describes the minor differences between using KanjiTalk with the Japanese Macintosh Plus and KanjiTalk with a standard Macintosh Plus.
TN.137.AppleShare 1.1 Bug MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.137.AppleShare 1.1 Bug 1 4K 2/15/91 TN.137.AppleShare 1.1 Bug - A bug has been discovered in AppleShare 1.1’s implementation of the AppleTalk Filing Protocol FPMove call. This bug only affects developers implementing custom workstation access code that will access AppleShare 1.1 servers from non-Macintosh systems (such as MS-DOS systems); if the guidelines below are not followed, data loss may result.
TN.136.A5 & GrowZone MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.136.A5 & GrowZone 1 4K 2/15/91 TN.136.A5 & GrowZone - If you have a grow zone function, it may get called when a system routine is trying to allocate memory. Because this can happen, you can’t be guaranteed that register A5 will be correct. If your grow zone function depends on A5, you should save register A5, load A5 from the low-memory global CurrentA5 (a long word at $904), and restore the caller’s A5 before you exit.
TN.135.Getting thru CUSToms MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.135.Getting thru CUSToms 1 27K 2/15/91 TN.135.Getting thru CUSToms - This technical note provides a way for developers to allow sophisticated users to add code to an off-the-shelf application. Using this scheme, the user can easily install the code module; the application has to know how to call it and, optionally, be able to respond to a set of predefined calls from the custom package.
TN.134.Boot problems MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.134.Boot problems 3 26K 2/15/91 TN.134.Boot problems - The death of a hard disk with megabytes worth of data can be exceedingly traumatic. This technical note will describe techniques for recovering a hard disk and the data that is on it. The discussion will also include some tips on how to avoid problems.
TN.133.Is This a Spooler? MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.133.Is This a Spooler? 1 4K 2/15/91 TN.133.Is This a Spooler? - When the LaserShare spooler is on an AppleTalk network, it acts like a LaserWriter-type device, which can be chosen and communicated with much like a real LaserWriter. Some applications, however, must communicate with a LaserWriter directly, not a spooler. If this is true for your application, you can check whether you are actually talking to a real LaserWriter by sending to the LaserWriter the following query:
TN.132.AppleTalk Interfaces MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.132.AppleTalk Interfaces 1 6K 2/15/91 TN.132.AppleTalk Interfaces - Technical Note #121 announced that we would be moving to a simplified AppleTalk Manager interface. That interface is available now, as part of MPW 2.0 and newer. Documentation for this new interface is contained in the AppleTalk Manager chapter of Inside Macintosh Volume V. This technical note contains some of the preliminary documentation for this interface and some useful points about information about it, and AppleTalk in general.
TN.131.TextEdit Bugs in 4.2 MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.131.TextEdit Bugs in 4.2 1 6K 2/15/91 TN.131.TextEdit Bugs in 4.2 - This note formerly described the known bugs with the version of Styled TextEdit that was provided with System 4.1. Many of these bugs were fixed in System 4.2. This updated Technical Note describes the remaining known problems. TEStylInsert - Calling TEStylInsert while the TextEdit record is deactivated causes unpredictable results, so make sure to only call TEStylInsert when the TextEdit record is active.
TN.130.ioCompletion MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.130.ioCompletion 1 3K 2/15/91 TN.130.ioCompletion - When making synchronous calls to the File Manager, it is not necessary to clear ioCompletion field of the parameter block, since that is done for you. Some earlier technotes explicitly cleared ioCompletion, with the knowledge that this was unnecessary, to try to encourage developers to fill in all fields of parameter blocks as indicated in Inside Macintosh. By the way, this is true of all parameter calls—you only have to set fields that are explicitly required.
TN.129_Gestalt & _SysEnviron MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.129_Gestalt & _SysEnviron 0 7K 2/15/91 Tech Note 129, _Gestalt & _SysEnvir Copyright(C)1990 Apple Computer. This Technical Note discusses latest changes and enhancements in the _Gestalt and _SysEnvirons calls. Removed _Gestalt constants now documented in Inside Macintosh Volume VI. Added new machine and keyboard constants for _Gestalt and _SysEnvirons which are not covered in Inside Macintosh. Oct'91.
TN.128.PrGeneral MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.128.PrGeneral 1 15K 2/15/91 TN.128.PrGeneral - The Printing Manager architecture has been expanded to include a new procedure called PrGeneral. The features described here are advanced, special-purpose features, intended to solve specific problems for those applications that need them. The calls to determine printer resolution introduce a good deal of complexity into the application’s code, and should be used only when necessary.
TN.127.TextEdit EOL MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.127.TextEdit EOL 1 4K 2/15/91 TN.127.TextEdit EOL - TESetSelect may be used to position the insertion point at the end of a line. There is an ambiguity, though; should the insertion point appear at the end of the preceding line or the start of the following one? It is possible to determine what will happen, as you are about to see.
TN.126.Sub(Launching) H-L Lang MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.126.Sub(Launching) H-L Lang 1 14K 2/15/91 TN.126.Sub(Launching) H-L Lang - Note: Developer Technical Support takes the view that launching and sublaunching are features which are best avoided for compatibility (and other) reasons, but we want to make sure that when it is absolutely necessary to implement it, it is done in the safest possible way. This Technical Note discusses the “safest” method of calling _Launch from a high-level language that supports inline assembly language with the option of launching or sublaunching another application.
TN.125.Spool/Print Shared MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.125.Spool/Print Shared 1 4K 2/15/91 TN.125.Spool/Print Shared - This technical note discusses drawbacks of using the spool-a-page/ print-a-page method of printing. The “spool-a-page/print-a-page” method of printing prints each page of a document as a separate job instead of calling PrPicFile to print the entire picture file. Many applications adopted this method of printing to avoid running out of disk space while the ImageWriter driver was spooling the document to disk.
TN.124.Low-Level Printing MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.124.Low-Level Printing 1 3K 2/15/91 TN.124.Low-Level Printing - When you use the low-level printer driver to print, you don’t get the benefits of the error checking that is done when you use the high-level Printing Manager. So, if the user prints to an AppleTalk ImageWriter (including an AppleTalk ImageWriter LQ) that is busy printing another job, the driver doesn’t know whether the printer is busy, offline, or disconnected. Because of this, PrError will return (and PrintErr will contain) abortErr.
TN.123.LaserWriter ROM Bugs MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.123.LaserWriter ROM Bugs 2 5K 2/15/91 TN.123.LaserWriter ROM Bugs - These are LaserWriter bugs that your users may encounter when printing from any Macintosh application. These are for your information; you cannot code around them. The bugs described here occur in the 1.0 and 2.0 LaserWriter ROMs.
TN.122.Dev.-Ind. Printing MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.122.Dev.-Ind. Printing 1 4K 2/15/91 TN.122.Dev.-Ind. Printing - The Printing Manager was designed to give Macintosh applications a device- independent method of printing, but we have provided device-dependent information, such as the contents of the print record. Due to the large number of printer-type drivers becoming available (even for non-printer devices) device independence is more necessary than ever. What this means to you, as a developer, is that we will no longer be providing (or supporting) information regarding the internal structure of the print record.
TN.121.AppleTalk Interfaces MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.121.AppleTalk Interfaces 1 4K 2/15/91 TN.121.AppleTalk Interfaces - What you need to do in order to use high-level AppleTalk routines depends upon the interfaces you are using. Some differences are outlined below.
TN.120_Principia Off-Scrn.. MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.120_Principia Off-Scrn.. 1 56K 2/15/91 TN.120.Off-Screen Pixel Map - Using Color QuickDraw to draw off-screen is a common requirement of applications and other kinds of programs that run on the Macintosh. This Note discusses what Color QuickDraw needs in a graphics environment and how to create one for off-screen drawing. A brief discussion of GWorlds, which are off-screen graphics environments that are set up by the system, is given in terms of deciding whether to use them or the do-it-yourself techniques described in this Note for setting up an off-screen graphics environment. 10-91.
TN.119.Color QuickDraw? MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.119.Color QuickDraw? 0 3K 2/15/91 TN.119.Color QuickDraw? - This note formely described a way to determine if Color QuickDraw is present on a particular machine. We now recommend that you call SysEnvirons to find out, as described in Technical Note #129.
TN.118.Printing Errors MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.118.Printing Errors 0 3K 2/15/91 TN.118.Printing Errors - This Technical Note formerly described how to check and properly handle errors that occur during printing with the Printing Manager. Changes since March 1988: Merged contents into Technical Note #161. This Note formerly described how to check and properly handle Printing Manager errors. This information is now contained in Technical Note #161, A Printing Loop That Cares…, which also includes a table of Printing Manager error codes.
TN.117.Compatibility MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.117.Compatibility 0 48K 2/15/91 TN.117.Compatibility - While creating or revising any program for the Macintosh, you should be aware of the most common reasons why programs fail on various versions of the Macintosh. This note will detail some common failure modes, why they occur, and how to avoid them.
TN.116.SharingApps MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.116.SharingApps 1 7K 2/15/91 TN.116.SharingApps - Normally, applications on an AppleShare server volume cannot be executed by more than one user at a time. This technical note explains why, and tells how you can enable your application to be shared.
TN.115.Stationery MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.115.Stationery 0 6K 2/15/91 TN.115.Stationery - With the introduction of AppleShare (Apple’s file server) there are restrictions on self-modification of application resource files and the placement of configuration files. This note describes one way to get around the necessity for configuration files.
TN.114.AppleShare/Old Finder MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.114.AppleShare/Old Finder 1 3K 2/15/91 TN.114.AppleShare/Old Finder - A rumor has been spread that if you use a pre-AppleShare Finder on a workstation to access AppleShare volumes, you can bypass AppleShare’s “access privilege” mechanisms.
TN.113.Boot Blocks MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.113.Boot Blocks 0 4K 2/15/91 TN.113.Boot Blocks - There are two undocumented features of the Boot Blocks. This note will describe how they currently work. Warning: The format and functionality of the Boot Blocks will change in the future; dependence on this information may cause your program to fail on future hardware or with future System software.
TN.112.FindDItem MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.112.FindDItem 0 3K 2/15/91 TN.112.FindDItem - FindDItem is a potentially useful call which returns the number of a dialog item given a point in local coordinates and a dialog handle. It returns an item number of –1 if no item’s rectangle overlaps the point. This is all well and good, except you don’t get back quite what you would expect.
TN.111.MoveHHi/SetResPurge MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.111.MoveHHi/SetResPurge 0 3K 2/15/91 TN.111.MoveHHi/SetResPurge - SetResPurge(TRUE) is called to make the Memory Manager call the Resource Manager before purging a block specified by a handle. If the handle is a handle to a resource, and its resChanged bit is set, the resource data will be written out (using WriteResource).
TN.110.MPW Stand-Alone Code MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.110.MPW Stand-Alone Code 0 4K 2/15/91 TN.110.MPW Stand-Alone Code - This Technical Note formerly discussed using MPW Pascal and C to write stand-alone code, such as 'WDEF', 'LDEF', 'INIT', and 'FKEY' resources. Changes since February 1990: Merged the contents of this Note into Technical Note #256, Stand-Alone Code, ad nauseam.This Note formerly discussed using MPW Pascal and C to write stand-alone code. This information has been expanded and is now contained in Technical Note #256, Stand-Alone Code, ad nauseam.
TN.109.Bug in MPW 1.0 MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.109.Bug in MPW 1.0 0 3K 2/15/91 TN.109.Bug in MPW 1.0 - This note formerly described a problem in the language libraries for MPW 1.0. This bug is fixed in MPW 1.0.2, available from APDA.
TN.108.AddDrive DrvrInstall and MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.108.AddDrive DrvrInstall and 0 6K 2/15/91 TN.108.AddDrive DrvrInstall and - AddDrive, _DrvrInstall, and _DrvrRemove are used in the sample SCSI driver in the SCSI Development Package, which is available from APDA. This Technical Note documents the parameters for these calls. Changes since March 1, 1988: Updated the _DrvrInstall text to reflect the use of register A0, which should contain a pointer to the driver when called. Also added simple glue code for _DrvrInstall and _DrvrRemove since none is available in the MPW interfaces.
TN.107.Nulls in Filenames MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.107.Nulls in Filenames 0 4K 2/15/91 TN.107.Nulls in Filenames - Some applications (loosely speaking so as to include Desk Accessories, INITs, and what-have-you) generate or rename special files on the fly so that they are not explicitly named by the user via SFPutFile. Since the Macintosh file system is very liberal about filenames and only excludes colons from the list of acceptable characters, this can lead to some difficulties, both for the end user and for writers of other programs which may see these files.
TN.106.VCBs and Drive #s MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.106.VCBs and Drive #s 0 4K 2/15/91 TN.106.VCBs and Drive #s - The top of page IV-178 in The File Manager chapter of Inside Macintosh in attempts to explain the behavior of two fields in a volume control block when the corresponding disk is offline or ejected. Due to the fact that a little bit is left unsaid, this paragraph is rather misleading. The two fields in question are vcbDrvNum and vcbDRefNum (referred to as ioVDrvInfo and ioVDRefNum in C and Pascal). PBHGetVInfo can be used to access these fields.
TN.105.Object Pascal MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.105.Object Pascal 0 4K 2/15/91 TN.105.Object Pascal - Object Pascal must have a CODE segment named %_MethTables in order to access object methods. In MacApp this is taken care of “behind the scenes” so you don’t have to worry about it . However, if you are doing a straight Object Pascal program, you must make sure that %_MethTables is around when you need it. If it’s unloaded when you call a method, your Macintosh will begin executing wild noncode and die a gruesome and horrible death.
TN.104.Globals from Asm MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.104.Globals from Asm 0 7K 2/15/91 TN.104.Globals from Asm - This technical note demonstrates how to access MPW Pascal and MPW C globals from the MPW Assembler. To allow access of MPW Pascal globals from the MPW Assembler, you need to identify the variables that you wish to access as external. To do this, use the {$Z+} compiler option. Using the {$Z+} option can substantially increase the size of the object file due to the additional symbol information (no additional code is generated and the symbol information is stripped by the linker).
TN.103.128K ROM/Asm MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.103.128K ROM/Asm 0 5K 2/15/91 TN.103.128K ROM/Asm - When calling MaxApplZone and MoveHHi from assembly language, be sure to get the correct code. MaxApplZone and MoveHHi were marked [Not in ROM] in Inside Macintosh, Volumes I-III . They are ROM calls in the 128K ROM. Since they are not in the 64K ROM, if you want your program to work on 64K ROM routines it is necessary to call the routines by a JSR to a glue (library) routine instead of using the actual trap macro.
TN.102.HFS Elucidations MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.102.HFS Elucidations 0 13K 2/15/91 TN.102.HFS Elucidations - This technical note will describe a few problems that can occur while using HFS. It will also describe ways to avoid these problems. This technical note will discuss the following problems. 1) It is very important to be careful about how files are opened and closed. There must be no more than one close for every open. 2) Don’t use Driver names, like .Bout, .Print or .Sony, in place of file names or the file system will become confused. 3) Be aware of the ioFlVersNum byte in all file calls. A number of pieces of the Macintosh system do not use, and may in fact ignore, files created with non-zero ioFlVersNums.
TN.101.CreateResFile & PMSP MacTNsDL AMUG CD:Files:MacTechNotes:TN.101.150:TN.101.CreateResFile & PMSP 0 8K 2/15/91 TN.101.CreateResFile & PMSP - CreateResFile checks to see if a resource file with a given name exists, and if it does, returns a dupFNErr (–48) error. Unfortunately, to do this check, CreateResFile uses a call that follows the Poor Man’s Search Path (PMSP).
TN.100.Large Screen Displays MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.100.Large Screen Displays 0 4K 2/15/91 TN.100.Large Screen Displays - A number of third-party developers have announced large-screen display peripherals for Macintosh. One of them, Radius Inc., has issued a set of guidelines for developers who wish to remain compatible with their Radius FPD; unfortunately, one of their recommendations can cause system crashes. This note suggests a more correct approach.
TN.099.SF Bug in System 3.2 MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.099.SF Bug in System 3.2 0 3K 2/15/91 TN.099.SF Bug in System 3.2 - This note formerly described a bug in Standard File in System 3.2. This bug has been fixed in more recent Systems.
TN.098.Short-Circuit Booleans MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.098.Short-Circuit Booleans 0 3K 2/15/91 TN.098.Short-Circuit Booleans - This note formerly described problems with the Lisa Pascal compiler. These problems have been fixed in the MPW Pascal compiler.
TN.097.PrSetError Problem MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.097.PrSetError Problem 0 3K 2/15/91 TN.097.PrSetError Problem - This note formerly described a problem in Lisa Pascal glue for the PrSetError routine. The glue in MPW (and most, if not all, third party compilers) does not have this problem.
TN.096.SCSI Bugs MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.096.SCSI Bugs 1 14K 2/15/91 TN.096.SCSI Bugs - There are a number of problems in the SCSI Manager; this note lists the ones we know about, along with an explanation of what we’re doing about them. Changes made for the 2/88 release are made to more accurately reflect the state of the SCSI Manager. System 4.1 and 4.2 are very similar; one bug was fixed in System 4.2.
TN.095.Print Dialogs MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.095.Print Dialogs 0 27K 2/15/91 TN.095.Print Dialogs - This technical note discusses how to add your own items to the Printing Manager’s dialogs. When the Printing Manager was initially designed, great care was taken to make the interface to the printer drivers as generic as possible in order to allow applications to print without being device-specific.
TN.094.Tags MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.094.Tags 0 4K 2/15/91 TN.094.Tags - Apple has decided to eliminate support for file-system tags on its future products; this technical note explains this decision. Some of Apple’s disk products (and some third-party products) have the ability to store 532 bytes per sector, instead of the normal 512. Twelve of the extra bytes are used to store redundant file system information, known as “tags”, to be used by a scavenging utility to reconstruct damaged disks.
TN.093.MPW {$LOAD} MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.093.MPW {$LOAD} 0 7K 2/15/91 TN.093.MPW {$LOAD} - This technical note discusses the Pascal {$LOAD} directive as well as how to unload the _DataInit and %_MethTables segments.{$LOAD} MPW Pascal has a {$LOAD} directive that can dramatically speed up compiles.
TN.092.Appearance Of Text MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.092.Appearance Of Text 0 7K 2/15/91 TN.092.Appearance Of Text - This technical note describes why text doesn’t always look the way you expect depending on the environment you are in. There are a number of Macintosh text editing applications where layout is critical. Unfortunately, text on a newer machine sometimes prints differently than text on a 64K ROM Macintosh. Let’s examine some differences you should expect and why.
TN.091.LW PicComments MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.091.LW PicComments 0 33K 2/15/91 TN.091.LW PicComments - This technical note is a continuation of Technical Note #72. This technical note discusses the picture comments that the LaserWriter driver recognizes. This technical note has been modified to include corrected descriptions of the SetLineWidth, PostScriptFile and ResourcePS comments and to include some additional warnings.
TN.090.SANE Incompatibilities MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.090.SANE Incompatibilities 0 3K 2/15/91 TN.090.SANE Incompatibilities - Earlier versions of this note described a problem with SANE and System 2.0. Use of System 2.0 is only recommended for Macintosh 128 machines, which contain the 64K ROMs. Information specific to 64K ROM machines has been deleted from Macintosh Technical Notes for reasons of clarity.
TN.089.DrawPicture Bug MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.089.DrawPicture Bug 0 3K 2/15/91 TN.089.DrawPicture Bug - Earlier versions of this note described a bug in DrawPicture. This bug never occurred on 64K ROM machines, and has been fixed in System 3.2 and newer. Use of Systems older than 3.2 on non-64K ROM machines is no longer recommended.
TN.088.Signals MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.088.Signals 0 14K 2/15/91 TN.088.Signals - Signals are a form of intra-program interrupt which can greatly aid clean, inexpensive error trapping in stack frame intensive languages. A program may invoke the Signal procedure and immediately return to the last invocation of CatchSignal, including the complete stack frame state at that point.
TN.087.Error in FCBPBRec MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.087.Error in FCBPBRec 0 4K 2/15/91 TN.087.Error in FCBPBRec - The declaration of a FCBPBRec is wrong in Inside Macintosh Volume IV and early versions of MPW. This has been fixed in MPW 1.0 and newer. An error was made in the declaration of an FCBPBRec parameter block that is used in PBGetFCBInfo calls. The field ioFCBIndx was incorrectly listed as a LONGINT. The following declaration (found in Inside Macintosh):
TN.086.MacPaint Document Format MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.086.MacPaint Document Format 0 12K 2/15/91 TN.086.MacPaint Document Format - This Technical Note describes the internal format of a MacPaint® document, which is a standard used by many other programs. This description is the same as that found in the “Macintosh Miscellaneous” section of early Inside Macintosh versions. Changes since October 1988: Fixed bugs in the example code.
TN.085.GetNextEvent & Blinkin' MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.085.GetNextEvent & Blinkin' 0 5K 2/15/91 TN.085.GetNextEvent & Blinkin' - Wherein arcane mysteries are unraveled so you can make the Alarm Clock (or a similar desk accessory) blink the Apple menu at the appointed second. Also, why GetNextEvent is a good thing.
TN.084.Edit File Format MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.084.Edit File Format 0 4K 2/15/91 TN.084.Edit File Format - This technical note describes the format of the files created by Edit. It has been verified for versions 1.x and 2.0. Edit, a text editor licensed by Apple and included in the Consulair 68000 Development System, can read any text-only file whose file type is TEXT. Files created by Edit have a creator ID of EDIT. Edit is a disk-based editor so the file length is not limited by available memory.
TN.083.System Heap Size MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.083.System Heap Size 0 3K 2/15/91 TN.083.System Heap Size - Earlier versions of this note pointed out that, due to varying system heap sizes, the application heap does not always start at $CB00. The start of the application heap has not been fixed for some time now; programs that depend on it never work on the Macintosh SE or the Macintosh II.
TN.082.TextEdit MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.082.TextEdit 0 5K 2/15/91 TN.082.TextEdit - This technical note will point out some bugs (and possible workarounds), and other items of interest for the TextEdit programmer.
TN.081.Caching MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.081.Caching 1 8K 2/15/91 TN.081.Caching - This technical note describes disk and File System caching on the Macintosh, with particular emphasis on the high-level File System cache. Of the three caches used for file I/O, this is the one which could have the most impact on your program. Note: This big File System cache is not available on 64K ROM machines.
TN.080.SF Tips MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.080.SF Tips 0 5K 2/15/91 TN.080.SF Tips - SFSaveDisk and CurDirStore. Low-memory location $214 (SFSaveDisk—a word) contains –1* the vRefNum of the volume that SF is displaying (MFS and HFS). It never contains –1* a WDRefNum. Low-memory location $398 (CurDirStore—a long word) contains the dirID of the directory that SF is displaying (HFS only). This information can be particularly useful at hook time, when the vRefNum field of the reply record has not yet been filled in.
TN.079._ZoomWindow MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.079._ZoomWindow 0 11K 2/15/91 TN.079._ZoomWindow - This Technical Note contains some hints about using _ZoomWindow. Changes since March 1988: Added a discussion of and sample code to demonstrate recommended window zooming technique in multi-screen environments. Basics _ZoomWindow allows a window to be toggled between two states (where “state” means size and location): a default state and a user-selectable state. The default state stays the same unless the application changes it, while the user-selectable state is altered when the user changes the size or location of a zoomable window. The code to handle zoomable windows in a main event loop would look something like the examples which follow.
TN.078.Resource Manager Tips MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.078.Resource Manager Tips 0 5K 2/15/91 TN.078.Resource Manager Tips - This note discusses some problems with the Resource Manager and how to work around them. OpenResFile Bug. This section of the note formerly described a bug in OpenResFile on 64K ROM machines. Information specific to 64K ROM machines has been deleted from Macintosh Technical Notes for reasons of clarity.
TN.077.HFS Ruminations MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.077.HFS Ruminations 0 14K 2/15/91 TN.077.HFS Ruminations - This technical note contains some thoughts concerning HFS. HFS numbers. A drive number is a small positive word (e.g. 3). A VRefNum (as opposed to a WDRefNum) is a small negative word (e.g. $FFFE). A WDRefNum is a large negative word (e.g. $8033). A DirID is a long word (e.g. 38). The root directory of an HFS volume always has a dirID of 2.
TN.076.Mac Plus Update Script MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.076.Mac Plus Update Script 0 3K 2/15/91 TN.076.Mac Plus Update Script - Earlier versions of this note described the Macintosh Plus Update installation script, because it was the first script created for the Installer. Since then, many versions of this script have been created which no longer match what was described here. In addition, many other scripts now exist.
TN.074.Data In Resource Fork MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.074.Data In Resource Fork 0 3K 2/15/91 TN.074.Data In Resource Fork - Don’t use the resource fork of a file for non-resource data. Parts of the system (including the File Manager and the Finder) assume that if this fork exists, it will contain valid Resource Manager information. PBOpenRF was provided to allow copying of the resource fork of a file in its entirety, without Resource Manager interpretation. Do not use it to open “another data fork.”
TN.073.Color Printing MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.073.Color Printing 0 9K 2/15/91 TN.073.Color Printing - This discusses color printing in a Macintosh application. Whereas the original eight-color model of QuickDraw was sufficient for printing in color on the ImageWriter II, the introduction of Color QuickDraw has created the need for more sophisticated printing methods.
TN.072.LW Optimizing Techniques MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.072.LW Optimizing Techniques 1 12K 2/15/91 TN.072.LW Optimizing Techniques - This Technical Note discusses techniques for optimizing code for printing on the LaserWriter. Changes since March 1988: Updated the “Printable Paper Area” and “Memory Considerations” sections as well as the printer IDs, moved the error messages from the end of the Note to Technical Note #161, A Printing Loop That Cares…, and removed the “Spool-A-Page/Print-A-Page” section because Technical Note #125, Effect of Spool-A-Page/Print-A-Page on Shared Printers, already thoroughly covers this topic.
TN.071.Finding Drivers MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.071.Finding Drivers 0 8K 2/15/91 TN.071.Finding Drivers - This note will explain how code can be written to determine the reference number of a previously installed driver when only the name is known. Changes since 2/86: Since the driver can be purged and the DCE still be allocated, the code now tests for dCtlDriver being NIL as well.
TN.070.Single-Sided Disks MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.070.Single-Sided Disks 0 5K 2/15/91 TN.070.Single-Sided Disks - This document explains how to initialize a disk as either single- or double- sided. It only applies to 800K drives, of course.
TN.069.PBGetCatInfo MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.069.PBGetCatInfo 0 10K 2/15/91 TN.069.PBGetCatInfo - This technical note describes how to set ioFDirIndex for PBGetCatInfo. The File Manager chapter of Inside Macintosh volume IV is not very specific in describing how to use ioFDirIndex when calling PBGetCatInfo. It correctly says that ioFDirIndex should be positive if you are making indexed calls to PBGetCatInfo (analogous to making indexed calls to PBGetVInfo as described in Technical Note #24).
TN.068.Search.V MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.068.Search.V 0 14K 2/15/91 TN.068 This Technical Note discusses the PBCatSearch function and tells why it should be used. It also provides simple algorithms for searching both MFS and HFS volumes and discusses the problems with indexed search routines.
TN.067.Blessed Folder MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.067.Blessed Folder 0 4K 2/15/91 TN.067.Blessed Folder - This technical note describes how to determine which folder on an HFS volume is the blessed folder, that is, the folder that contains both the System file and the Finder.
TN.066.Which File System? MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.066.Which File System? 1 6K 2/15/91 TN.066.Which File System? - This Technical Note discusses how to determine which file system a particular volume is running. Changes since June 1990: Removed text about IDs $0001-$0016 being AppleShare volumes; other file systems use this range tooUnder certain circumstances it is necessary to determine which file system is currently running on a particular volume. For example, on a 64K ROM machine, your application (i.e., especially disk recovery utilities or disk editors, etc.) may need to check for MFS versus HFS. Note that this is usually not necessary, because all ROMs, except the original 64K ROMs, include HFS. You may need to check if a particular volume is in High Sierra, ISO 9660, or audio CD format.
TN.065.Mac Plus Pinouts MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.065.Mac Plus Pinouts 0 8K 2/15/91 TN.065.Mac Plus Pinouts - This note gives pinout descriptions for some of the Macintosh Plus ports and Macintosh Plus cables that are different than the Macintosh 128K and 512K.
TN.064.IZANotify MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.064.IZANotify 0 3K 2/15/91 TN.064.IZANotify - Previous versions of this technical note recommended use of a low memory hook called IAZNotify. We no longer recommend use of IAZNotify, since the IAZNotify hook is never called under MultiFinder.
TN.063.WriteResource Patch MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.063.WriteResource Patch 0 3K 2/15/91 TN.063.WriteResource Patch - This note formerly contained a patch to fix a bug in WriteResource on 64K ROM machines. Information specific to 64K ROM machines has been deleted from Macintosh Technical Notes for reasons of clarity.
TN.062.Resource Header MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.062.Resource Header 0 3K 2/15/91 TN.062.Resource Header - The section of the Resource Manager chapter of Inside Macintosh which describes the internal format of a resource file shows an area of the resource header labeled “available for application data.” You should not use this area—it is used by the Resource Manager.
TN.061.GetItemStyle Bug MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.061.GetItemStyle Bug 0 3K 2/15/91 TN.061.GetItemStyle Bug - This note formerly described a bug (in GetItemStyle) which occurs only on 64K ROM machines. Information specific to 64K ROM machines has been deleted from Macintosh Technical Notes for reasons of clarity.
TN.060.Narrow GrafPorts MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.060.Narrow GrafPorts 0 3K 2/15/91 TN.060.Narrow GrafPorts - When you draw a character into a GrafPort, your program will die with an address error if the width of the GrafPort is smaller than the width of the character. If you check before drawing the character to see if the GrafPort is wide enough, you can avoid this unfortunate tragedy.
TN.059.Pictures & Clip Regions MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.059.Pictures & Clip Regions 0 4K 2/15/91 TN.059.Pictures & Clip Regions - This note describes a problem that affects creation of QuickDraw pictures. When a GrafPort is created, the fields in the GrafPort are given default values; one of these is the clip region, which is set to the rectangle (–32767, –32767, 32767, 32767). If you create a picture, then call DrawPicture with a destination rectangle that is not the same size as the picFrame without ever changing the default clip region, nothing will be drawn.
TN.058.IU Bug MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.058.IU Bug 0 3K 2/15/91 TN.058.IU Bug - This note formerly described a bug in System 2.0, which is now recommended only for use with 64K ROM machines. Information specific to 64K ROM machines has been deleted from Macintosh Technical Notes for reasons of clarity.
TN.057.Macintosh Plus MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.057.Macintosh Plus 0 3K 2/15/91 TN.057.Macintosh Plus - This note was originally meant as interim Macintosh Plus documentation and has been replaced by Inside Macintosh Volume IV, which is more complete and more accurate.
TN.056.Break/CTS MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.056.Break/CTS 0 4K 2/15/91 TN.056.Break/CTS - This technical note documents the event record information that gets passed when the serial driver posts an event for a break/CTS status change.
TN.055.Drawing Icons MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.055.Drawing Icons 0 11K 2/15/91 TN.055.Drawing Icons - Using resources of type ICON allows drawing of icons in srcOr mode. Using resources of type ICN# allows for more variety when drawing icons.
TN.054.Limit to Resource Size MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.054.Limit to Resource Size 0 3K 2/15/91 TN.054.Limit to Resource Size - This note formerly described a bug in WriteResource on 64K ROM machines. Information specific to 64K ROM machines has been deleted from Macintosh Technical Notes for reasons of clarity.
TN.053.MoreMasters Revisited MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.053.MoreMasters Revisited 0 7K 2/15/91 TN.053.MoreMasters Revisited - MoreMasters should be called from CODE segment 1. The number of master pointers that a program needs can be determined empirically. MoreMasters can be tricked into creating the exact number of master pointers desired.
TN.052._Launch from High-Level MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.052._Launch from High-Level 0 3K 2/15/91 TN.052._Launch from High-Level - This Technical Note formerly discussed calling _Launch from a high-level language which allows inline assembly code. Changes since March 1988: Merged contents into Technical Note #126.
TN.051.Debugging w/PurgeMem MacTNsDL AMUG CD:Files:MacTechNotes:TN.051.100:TN.051.Debugging w/PurgeMem 0 4K 2/15/91 TN.051.Debugging w/PurgeMem - If you are having problems finding bugs like handles that aren’t locked down when they should be, or resources that aren’t there when they’re supposed to be, there is a handy technique for forcing these problems to the surface.
TN.050.Calling SetResLoad MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.050.Calling SetResLoad 0 3K 2/15/91 TN.050.Calling SetResLoad - Calling SetResLoad(FALSE) can be useful if you need to get a handle to a resource, without causing the resource to be loaded from disk if it isn’t already in memory. This technique is used in Technical Note #1. SetResLoad changes the value of the low-memory global ResLoad (at location $A5E).
TN.048.Bundles MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.048.Bundles 0 8K 2/15/91 TN.048.Bundles - This note describes what a bundle is and how to create one. A bundle is a collection of resources. Bundles can be used for a number of different purposes, and are currently used by the Finder ito tie an icon to a file type, allowing your application or data file to have its own icon.
TN.047.Standard File MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.047.Standard File 0 24K 2/15/91 TN.047.Standard File - This note contains an example program that demonstrates how SFPGetFile can be customized using the dialog hook and file filter functions.
TN.046.Separate Resource Files MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.046.Separate Resource Files 0 4K 2/15/91 TN.046.Separate Resource Files - During application development, you use a resource compiler (RMaker or Rez) to convert a resource definition file into an executable application. You rarely change anything but your CODE resources during development, and the resource compiler spends a lot of time compiling other resources which have not changed since they were originally created.
TN.045.ROM MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.045.ROM 0 3K 2/15/91 TN.045.ROM - This note formerly listed the traps from Inside Macintosh Volumes I-III. Better references are now available elsewhere.
TN.044.HFS Compatibility MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.044.HFS Compatibility 0 6K 2/15/91 TN.044.HFS Compatibility - This technical note tells you how to make sure that your applications run under the Hierarchical File System (HFS).
TN.043.Calling LoadSeg MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.043.Calling LoadSeg 0 3K 2/15/91 TN.043.Calling LoadSeg - Earlier versions of this note described a way to call the LoadSeg trap, which is used internally by the Segment Loader. We no longer recommend calling LoadSeg directly.
TN.042.Pascal Routine Pointers MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.042.Pascal Routine Pointers 0 4K 2/15/91 TN.042.Pascal Routine Pointers - Routines passed by pointer are used in many places in conjunction with Macintosh system routines. For example, filter procedures for modal dialogs are passed by pointer, as are controls’ action procedures (when calling TrackControl), and I/O completion routines.
TN.041.Off-Screen Bitmaps MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.041.Off-Screen Bitmaps 0 12K 2/15/91 TN.041.Off-Screen Bitmaps - This Technical Note provides an example of creating an off-screen bitmap, drawing to it, and then copying from it to the screen. Changes since April 1990: Clarified the section on window updates with off-screen bitmaps to explicitly limit these updates to your own windows.
TN.040.Finder Flags MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.040.Finder Flags 1 4K 2/15/91 TN.040.Finder Flags - This revision corrects the meanings of bits 6 and 7, which were interchanged in the older version of this technical note. ResEdit uses these bits incorrectly in versions older than 1.2.
TN.039.Segment Loader Patch MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.039.Segment Loader Patch 0 3K 2/15/91 TN.039.Segment Loader Patch - This note formerly described a patch to the Segment Loader for 64K ROM machines. Information specific to 64K ROM machines has been deleted from Macintosh Technical Notes for reasons of clarity.
TN.038.ROM Debugger MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.038.ROM Debugger 0 5K 2/15/91 TN.038.ROM Debugger - The debugger in ROM (not present on the Macintosh 128, Macintosh 512, or Macintosh XL) recognizes the following commands: PC [expr] (program counter)Typing PC on a line by itself displays the program counter. Typing PC 50000 sets the program counter to $50000. SM [address [number(s)]] (set memory) Typing SM on a line by itself displays the next 96 bytes of memory. Typing SM 50000 will display memory starting at $50000. Typing SM 50000 4849 2054 6865 7265 2120 will set memory starting at $50000 to $4849… Subsequently hitting Return will increment the display a screen at a time.
TN.037.Logic Boards MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.037.Logic Boards 2 3K 2/15/91 TN.037.Logic Boards - Earlier versions of this note are obsoleted by existence of SysEnvirons, which is documented in Technical Note #129.
TN.036.Drive Queue Elements MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.036.Drive Queue Elements 0 8K 2/15/91 TN.036.Drive Queue Elements - This note expands on Inside Macintosh’s definition of the drive queue, which is given in the File Manager chapter.
TN.035.DrawPicture Problem MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.035.DrawPicture Problem 0 3K 2/15/91 TN.035.DrawPicture Problem - This note formerly described a problem with DrawPicture that occurred only on 64K ROM machines. Information specific to 64K ROM machines has been deleted from Macintosh Technical Notes for reasons of clarity.
TN.034.User Items in Dialogs MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.034.User Items in Dialogs 0 10K 2/15/91 TN.034.User Items in Dialogs - The Dialog Manager does not go into detail about how to manage user items in dialogs; this Technical Note describes the process. Changes since March 1, 1988: Added MPW C 3.0 code, added a _SetPort call to the Pascal example, and noted the necessity and meaning of enabled items.
TN.033.IW II Paper Motion MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.033.IW II Paper Motion 1 4K 2/15/91 TN.033.IW II Paper Motion - The purpose of this technical note is to answer the many questions asked about why the paper moves the way it does on the ImageWriter II.
TN.032.Reserved Types MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.032.Reserved Types 0 3K 2/15/91 TN.032.Reserved Types - Your applications and desk accessories can create their own resource types. To avoid using type names which have been or will be used in the system, Apple has reserved all resource type names which consist entirely of spaces ($20), lower-case letters ($61 through $7A), and “international” characters (greater than $7F).
TN.030.Font Height Tables MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.030.Font Height Tables 0 4K 2/15/91 TN.030.Font Height Tables - This technical note describes how the Font Manager (except in 64K ROMs) calculates height tables for fonts and how you can force recalculation.
TN.029.Desktop File MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.029.Desktop File 1 6K 2/15/91 TN.029.Desktop File - This technical note describes the resources found in the Desktop file. Note: Don’t base anything critical on the format of the Desktop file. AppleShare already uses another scheme; AppleShare volumes don’t have Desktop files. The format of this file can, and probably will, change in the future.
TN.028.Finders & Drives MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.028.Finders & Drives 1 5K 2/15/91 TN.028.Finders & Drives - This technical note describes the differences in the way the 1.1g, 4.1, 5.0 and newer Finders communicate with foreign (non-Sony) disk drives.
TN.027.MacDraw’s PICT Format MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.027.MacDraw’s PICT Format 0 4K 2/15/91 TN.027.MacDraw’s PICT Format - This Technical Note formerly described the PICT file format used by MacDraw® and the picture comments the MacDraw used to communicate with the LaserWriter driver. Changes since March 1988: Updated the Claris address.
TN.026.Text Widths MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.026.Text Widths 0 5K 2/15/91 TN.026.Text Widths - This technical note discusses the fact that the width of a string is not always the same as the sum of the widths of all the characters in the string, due to roundoff error.
TN.025.A5 & Patching Traps MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.025.A5 & Patching Traps 0 4K 2/15/91 TN.025.A5 & Patching Traps - Future software may allow desk accessories to have their own globals by changing register A5 when the accessory is entered and exited. This can cause problems for applications that patch traps without following certain rules.
TN.024.Available Volumes MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.024.Available Volumes 0 5K 2/15/91 TN.024.Available Volumes - Standard File lets the user select one file from any available volume; it is sometimes necessary for an application to find which volumes are present. This technical note gives the proper method of accomplishing this.
TN.023.Font/DA Mover MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.023.Font/DA Mover 0 5K 2/15/91 TN.023.Font/DA Mover - This technical note describes how to make sure that your desk accessory will work after being moved by Font/Desk Accessory Mover.
TN.022.TEScroll Bug MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.022.TEScroll Bug 0 3K 2/15/91 TN.022.TEScroll Bug - A bug in TextEdit causes the following problem: a call to TEScroll with no horizontal or vertical displacement (that is, both dh and dv set to zero) results in disappearance of the insertion point. Since such calls do nothing, they should be avoided.
TN.021.Picture Opcodes MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.021.Picture Opcodes 0 13K 2/15/91 TN.021.Picture Opcodes - This technical note describes the internal format of the QuickDraw picture data structure. This revision corrects some errors in the opcode descriptions and provides some examples.
TN.020.Server MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.020.Server 1 10K 2/15/91 TN.020.Server - Many applications could benefit from the ability to share common data between several Macintoshes, without requiring a file server. This technical note discusses one technique for managing this AppleTalk communication.
TN.019.Clickless Sound MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.019.Clickless Sound 0 4K 2/15/91 TN.019.Clickless Sound - Apple currently discourages use of the Sound Driver due to compatibility issues. The hardware support for sound designed into the early Macintosh architecture was minimal. (Many things have changed since 1983–1984.) The new Macintosh computers contain a custom chip to provide better support for sound, namely the Apple Sound Chip (ASC). The ASC is present in the complete Macintosh II family as well as the Macintosh SE/30 and later machines.
TN.018.TextEdit Conversion MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.018.TextEdit Conversion 0 4K 2/15/91 TN.018.TextEdit Conversion - Text sometimes must be converted between a Pascal string and “pure” text in a handle. This note illustrates a way to do this using MPW Pascal. Text contained in TextEdit records sometimes must be passed to routines which expect a Pascal string of type Str255 (a length byte followed by up to 255 characters).
TN.017.Low-Level Print Driver MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.017.Low-Level Print Driver 0 3K 2/15/91 TN.017.Low-Level Print Driver - This technical note has been replaced by information in Inside Macintosh Volume V. Please refer to the Print Manager chapter of Inside Macintosh Volume V for information on low-level print driver calls.
TN.016.MacWorks XL MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.016.MacWorks XL 0 3K 2/15/91 TN.016.MacWorks XL - Earlier versions of this note described MacWorks XL, the system software that allowed you to use Macintosh applications on the Macintosh XL. Information specific to Macintosh XL machines has been deleted from Macintosh Technical Notes for reasons of clarity.
TN.015.Finder 4.1 MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.015.Finder 4.1 0 3K 2/15/91 TN.015.Finder 4.1 - This note formerly described Finder 4.1, which is now recommended only for use with 64K ROM machines. Information specific to 64K ROM machines has been deleted from Macintosh Technical Notes for reasons of clarity.
TN.014.INIT 31 MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.014.INIT 31 0 3K 2/15/91 TN.014.INIT 31 - This note formerly described things that are now covered in the System Resource File chapter of Inside Macintosh Volume IV and the Start Manager chapter of Inside Macintosh Volume V. Please refer to Inside Macintosh.
TN.013.MW Clipboard Format MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.013.MW Clipboard Format 0 3K 2/15/91 TN.013.MW Clipboard Format - This Technical Note formerly described the clipboard format used by MacWrite®, which is now published by Claris. Changes since March 1988: Updated the Claris address.
TN.012.Disk-Based MW Format MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.012.Disk-Based MW Format 0 3K 2/15/91 TN.012.Disk-Based MW Format - This Technical Note formerly described the format of files created by MacWrite®, which is now published by Claris. Changes since March 1988: Updated the Claris address.
TN.011.Memory-Based MW Format MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.011.Memory-Based MW Format 0 3K 2/15/91 TN.011.Memory-Based MW Format - This Technical Note formerly described the format of files created by MacWrite® 2.2. Changes since March 1988: Updated the Claris address.
TN.010.Pinouts MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.010.Pinouts 3 11K 2/15/91 TN.010.Pinouts - This note gives pinouts for Macintosh ports, cables, and other products. Inside are pinout descriptions for the Macintosh ports, cables, and various other products. Please refer to the Hardware chapter of Inside Macintosh and the Macintosh Hardware Reference Manual for more information, especially about power limits. Note that unconnected pins are omitted.
TN.009.Internets MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.009.Internets 1 6K 2/15/91 TN.009.Internets - Individual AppleTalk networks can be connected together as internets. It’s important that your application work across internets; this note contains information on the differences between life on a single AppleTalk, and life on an internet. You can read about internets (AppleTalk networks connected by one or more bridges) in Inside AppleTalk. What do you need to do about them?
TN.008.ABPasIntf Bug MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.008.ABPasIntf Bug 0 3K 2/15/91 TN.008.ABPasIntf Bug - Previous versions of this note described a bug in the AppleTalk Pascal Interfaces. This bug was fixed in MPW 1.0 and newer.
TN.007.Debugging Tips MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.007.Debugging Tips 0 6K 2/15/91 TN.007.Debugging Tips - This presents a few tips which may make your debugging easier. Setting memory location 0 to something odd Dereferencing nil handles can cause real problems for an application. If location 0 (nil) is something even, the dereference will not cause an address error, and the application can run on for quite a while, making tracing back to the problem quite difficult. If location 0 contains something odd, such as $50FFC001, an address error will be generated immediately when a nil handle is dereferenced.
TN.006.Owned Resources MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.006.Owned Resources 0 4K 2/15/91 TN.006.Owned Resources - To allow the Font/DA Mover to renumber desk accessories as needed when moving them between system files, desk accessories should use the “owned resource” protocol described in the Resource Manager chapter of Inside Macintosh Volume I.
TN.005.Dialogs from DAs MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.005.Dialogs from DAs 1 4K 2/15/91 TN.005.Dialogs from DAs - When a desk accessory creates a window (including a modeless dialog window) it must set the windowKind to its refnum—a negative number. When the application calls GetNextEvent, the Event Manager calls SystemEvent, which checks to see if the event belongs to a desk accessory. SystemEvent checks the windowKind of the frontmost window, and uses the (negative) number for the refnum to make a control call, giving the desk accessory a shot at the event. Then SystemEvent returns TRUE, and GetNextEvent returns FALSE.
TN.004.GetNewDialog MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.004.GetNewDialog 1 4K 2/15/91 TN.004.GetNewDialog - When calling GetNewDialog to retrieve a dialog template from a previously opened resource file, how are error conditions indicated to the caller? Unfortunately, they aren’t. The Dialog Manager calls GetResource and assumes the returned value is good. Since the Dialog Manager doesn’t check, you have two choices. Your first choice is to call GetResource for the dialog template, item list, and any resources needed by items in the item list yourself. But what do you do when you find the resources aren’t there?
TN.003.Command-Shift Keys MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.003.Command-Shift Keys 1 4K 2/15/91 TN.003.Command-Shift Keys - In the standard system, there are two Command-Shift-number key combinations that are automatically captured and processed by GetNextEvent. The combinations are: Command-Shift-1 Eject internal disk Command-Shift-2 Eject external disk. Numbers from 3 to 9 are also captured by GetNextEvent, but are processed by calling ‘FKEY’ resources. You can implement your own actions for Command-Shift-number combinations for numbers 5 to 9 by defining your own ‘FKEY’ resource.
TN.002.Compatibility MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.002.Compatibility 3 10K 2/15/91 TN.002.Compatibility - Apple has many enhancements planned for the Macintosh family of computers. To help ensure your software’s compatibility with these enhancements, check each item in this note to be sure that you’re following the recommendations. If your software is written in a high-level language like Pascal or C and if you adhere to the guidelines listed in Inside Macintosh, many of the questions in this note won’t concern you. If you develop in assembly language, you should read each question carefully.
TN.001.System Resources MacTNsDL AMUG CD:Files:MacTechNotes:TN.001.050:TN.001.System Resources 1 3K 2/15/91 This note formerly described a strategy for dealing with system resources from desk accessories. We no longer recommend calling ReleaseResource or DetachResource for a system resource. When you are done with a system resource, leave it alone; do not try to dispose or release it.
Sound Manager chapter (IM).dd MacTNsDL AMUG CD:Files:MacTechNotes:Sound Manager chapter (IM).dd 1 80K 2/15/91 Sound Manager chapter (IM).dd contains specialized information on the Macintosh Sound Manager.
Human Interface Notes.dd MacTNsDL AMUG CD:Files:MacTechNotes:Human Interface Notes.dd 2 28K 2/15/91 Human Interface Notes.dd are the Human Interface Tech Notes from Apple Computer.
Fonts (Old Format).dd MacTNsDL AMUG CD:Files:MacTechNotes:Fonts (Old Format).dd 0 26K 2/15/91 Fonts (Old Format).dd contains old style formated fonts for displaying Tech Notes in this section.
Fonts (New Format).dd MacTNsDL AMUG CD:Files:MacTechNotes:Fonts (New Format).dd 1 32K 2/15/91 Fonts (New Format).dd contains new formated fonts for displaying Tech Notes in this section.
0 About Mac TNs 2.92.cpt MacTNsDL AMUG CD:Files:MacTechNotes:0 About Mac TNs 2.92.cpt 3 16K 2/15/91 0 About Mac TNs 2.92 - contains an index to the 2-92 Tech notes and various updates.